3

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

#! /bin/tcsh -f

helloWorld () {
    echo "a"
}

helloWorld

我收到以下错误:

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

有没有人在这里可能是什么问题?

谢谢

4

3 回答 3

6

tcsh 不支持函数。

最佳解决方案:使用可以执行此操作的 shell,例如 bash。

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

alias helloWorld 'echo "a"'

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

于 2015-04-09T07:03:26.703 回答
3

tcsh 中没有函数。所以我看到了 2 个选项:

还有一个选项,如果你想用多个文件组织你的代码,请使用source :

要在当前环境中运行 shell 脚本而不创建新进程,请使用 source 命令。你可以这样运行计算 shell 脚本: source calculate 如果你想使用一个 shell 脚本来更新当前环境中的一个变量,使用 source 命令运行它。

src:OS/390 UNIX 系统服务 tcsh(C Shell)工具包支持指南 - IBM

我认为“使用不同的外壳”不应该是一个有效的回应。

问候,巴勃罗

于 2017-11-06T15:24:03.437 回答
1

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

#! /bin/tcsh -f
goto helloWorld
helloWorld:
echo "a"
于 2015-04-09T06:46:33.767 回答