在C-Shell中添加.cshrc函数

smdnsysy  于 2023-06-24  发布在  Shell
关注(0)|答案(2)|浏览(230)

我想在我的**.cshrc**文件中添加自定义函数,以便通过我的命令行使用一些输入来执行一些功能。我用的是C-shell有没有什么方法可以实现这个或任何工作周围得到所需的结果?

whitzsjs

whitzsjs1#

C Shell不支持函数。
我建议您可以创建脚本来模拟这些函数,然后在命令行中键入命令时使用.cshrc文件中的alias来调用这些脚本。
例如,我想在我的csh环境中定义一个名为test的新命令。因此,我将在.cshrc文件中添加下面一行

alias test "${HOME}/.test.sh"

现在,我将test.sh在${HOME}目录中(或者您希望它位于的任何位置)创建一个. www.example.com脚本,并将命令的逻辑放在脚本中。
示例如下:

/home/abis> cat .test.sh 
#!/usr/bin/ksh

echo $1 $2

然后,我给予执行权限授予. test.sh脚本并源代码.cshrc文件(无论如何,当您打开一个新的登录shell时,都会这样做)。
当我从命令行执行命令时,实际的脚本将被调用。

/home/abis> test "Hello" "World"
Hello World
bkhjykvo

bkhjykvo2#

.cshrc.tcshrc中设置以下内容:

alias function '( set argv = ( \!* ) ; source ~/.cshfuncs )'

.cshfuncs中定义函数:

# Functions for C Shell.

switch ("$1")
  case "myfunc":
    echo "A function."
    exit
  case "myfunc2":
    echo "Another function."
    exit
  default:
    echo "Function $1 not set."
    exit -1
endsw

相关问题