如何将命令列表分组到一个关键字?

时间:2018-02-24 07:44:53

标签: csh

我目前正在使用csh shell。 每次我想编译我的代码,我都要做很多cd的东西。

例如{

cd ~/path1/path2/path3
make depend
make 
make install

}

我想知道是否可以添加内容(例如: .cshrc文件) 所以我可以定义一个新的关键字,它可以替换我之前输入的所有命令,以节省一些时间。

1 个答案:

答案 0 :(得分:0)

听起来你正在寻找alias

如果您只想将问题中的命令作为新命令运行,并且您不想将它们放在脚本中,则可以在.cshrc脚本中创建一个别名,如下所示:

alias foo 'cd ~/path1/path2/path3 && make depend && make && make install'

现在,在shell中运行foo将运行所有这些命令。如果任何一个命令失败,将停止运行命令列表。 (这就是&&的用途。)

您可以使用看起来像历史记录替换的表示法来检索别名中的选项。例如:

alias foo 'cd ~/path1/path2/\!:1 && make depend && make && make install'

这样您就可以运行类似foo bar的内容,别名cd ~/path1/path2/bar。请注意,这只是替代;在这种情况下,如果您省略该选项并运行foo,则make的{​​{1}}链将在~/path1/path2/中运行。如果这是一个问题...编写shell脚本而不是使用别名。