在tcsh中声明函数时放置错误的()

nzkunb0c  于 2022-09-19  发布在  Linux
关注(0)|答案(3)|浏览(163)

我正在尝试在tcsh中声明一个函数并调用它。


# ! /bin/tcsh -f

helloWorld () {
    echo "a"
}

helloWorld

我收到以下错误:

< 512 mews2895 ~/tmp/script> 1.sh
Badly placed ()'s.

在座有人知道问题出在哪里吗?

谢谢

gjmwrych

gjmwrych1#

Tcsh不支持函数。

最佳解决方案:使用支持此功能的外壳,如bash。

如果出于某种原因必须使用tcsh,别名将解决您眼前的问题,但比函数弱得多。

alias helloWorld 'echo "a"'

另一种可能的解决方案是调用单独的脚本。(您必须确保调用的脚本在您的$PATH中。)

disho6za

disho6za2#

Tcsh中没有函数。因此,我看到了两个选择:

如果您想用多个文件组织代码,还可以使用源文件
要在当前环境中运行外壳脚本,而不创建新进程,请使用SOURCE命令。您可以这样运行计算外壳脚本:如果您想要使用一个在当前环境中更新变量的外壳脚本,请使用SOURCE命令运行它。

源:OS/390 UNIX System Services tcsh (C Shell) Kit Support Guide - IBM

我认为‘使用不同的外壳’不应该是一个有效的回答。

问候你,巴勃罗

dgjrabp2

dgjrabp23#

尝试使用下面的代码了解tcsh中的函数用法


# ! /bin/tcsh -f

goto helloWorld
helloWorld:
echo "a"

相关问题