函数,而不是别名C shell的登录脚本(Function instead of alias in

2019-07-05 13:47发布

我在看到这个话题,你可以在shell登录脚本,如果你想使用的参数添加一个功能,而不是别名。 不过,我把下面的代码我的.cshrc文件中与aliasses的部分:

function gf()
{
    grep -n $1 `find .` | grep -v "can't open"
}

但是,当I型源的.cshrc,我得到的错误消息:严重放置()的。 是语法C外壳比在Bash shell有什么不同? 如果是这样,什么是正确的语法?

Answer 1:

不幸的是,你不能在定义功能csh ,就像你可以在大多数其他炮弹。 此功能不存在在csh

唯一的选择是创建一个脚本,并将其放置在您的目录PATH~/bin



Answer 2:

这里是我的解决方案:

#!/bin/csh

if ("$1" == "run") goto $2

echo "Now in default mode"

echo "Calling myself"

csh -f dummy run sub1

csh -f dummy run sub2

exit


sub1:

echo "In sub1"

exit

sub2:

echo "In sub2"

exit


文章来源: Function instead of alias in C shell login script