我正在尝试在tcsh中声明一个函数并调用它。
# ! /bin/tcsh -f helloWorld () { echo "a" } helloWorld
我收到以下错误:
< 512 mews2895 ~/tmp/script> 1.sh Badly placed ()'s.
在座有人知道问题出在哪里吗?
谢谢
gjmwrych1#
Tcsh不支持函数。
最佳解决方案:使用支持此功能的外壳,如bash。
如果出于某种原因必须使用tcsh,别名将解决您眼前的问题,但比函数弱得多。
alias helloWorld 'echo "a"'
另一种可能的解决方案是调用单独的脚本。(您必须确保调用的脚本在您的$PATH中。)
$PATH
disho6za2#
Tcsh中没有函数。因此,我看到了两个选择:
如果您想用多个文件组织代码,还可以使用源文件:要在当前环境中运行外壳脚本,而不创建新进程,请使用SOURCE命令。您可以这样运行计算外壳脚本:如果您想要使用一个在当前环境中更新变量的外壳脚本,请使用SOURCE命令运行它。
源:OS/390 UNIX System Services tcsh (C Shell) Kit Support Guide - IBM
我认为‘使用不同的外壳’不应该是一个有效的回答。
问候你,巴勃罗
dgjrabp23#
尝试使用下面的代码了解tcsh中的函数用法
tcsh
# ! /bin/tcsh -f goto helloWorld helloWorld: echo "a"
3条答案
按热度按时间gjmwrych1#
Tcsh不支持函数。
最佳解决方案:使用支持此功能的外壳,如bash。
如果出于某种原因必须使用tcsh,别名将解决您眼前的问题,但比函数弱得多。
另一种可能的解决方案是调用单独的脚本。(您必须确保调用的脚本在您的
$PATH
中。)disho6za2#
Tcsh中没有函数。因此,我看到了两个选择:
如果您想用多个文件组织代码,还可以使用源文件:
要在当前环境中运行外壳脚本,而不创建新进程,请使用SOURCE命令。您可以这样运行计算外壳脚本:如果您想要使用一个在当前环境中更新变量的外壳脚本,请使用SOURCE命令运行它。
源:OS/390 UNIX System Services tcsh (C Shell) Kit Support Guide - IBM
我认为‘使用不同的外壳’不应该是一个有效的回答。
问候你,巴勃罗
dgjrabp23#
尝试使用下面的代码了解
tcsh
中的函数用法