如何将命令列表分组为单个关键字?
How to group a lists of commands into a single keyword?
我目前正在使用 csh shell。
每次我想编译我的代码,我必须做很多cd东西。
例如{
cd ~/path1/path2/path3
make depend
make
make install
}
我想知道是否可以添加一些东西到(例如:.cshrc 文件)
所以我可以定义一个新的关键字,它替换我之前必须输入的所有命令以节省一些时间。
听起来您正在寻找 alias
。
如果您只想 运行 您问题中的命令作为一个新命令,而不想将它们放在脚本中,您可以在 .cshrc
中创建一个别名像这样的脚本:
alias foo 'cd ~/path1/path2/path3 && make depend && make && make install'
现在,在您的 shell 中 运行ning foo
将 运行 所有这些命令。如果任何一个命令失败,将停止 运行ning 命令列表。 (这就是 &&
的用途。)
您可以使用看起来像历史替换的符号来检索别名中的选项。例如:
alias foo 'cd ~/path1/path2/\!:1 && make depend && make && make install'
这将允许您 运行 类似于 foo bar
并且别名将 cd ~/path1/path2/bar
。请注意,这只是在进行替换;在这种情况下,如果您要省略该选项而只是 运行 foo
,您的 make
链将是 运行 in ~/path1/path2/
。如果这是一个问题...写一个 shell 脚本而不是使用别名。
我目前正在使用 csh shell。 每次我想编译我的代码,我必须做很多cd东西。
例如{
cd ~/path1/path2/path3
make depend
make
make install
}
我想知道是否可以添加一些东西到(例如:.cshrc 文件) 所以我可以定义一个新的关键字,它替换我之前必须输入的所有命令以节省一些时间。
听起来您正在寻找 alias
。
如果您只想 运行 您问题中的命令作为一个新命令,而不想将它们放在脚本中,您可以在 .cshrc
中创建一个别名像这样的脚本:
alias foo 'cd ~/path1/path2/path3 && make depend && make && make install'
现在,在您的 shell 中 运行ning foo
将 运行 所有这些命令。如果任何一个命令失败,将停止 运行ning 命令列表。 (这就是 &&
的用途。)
您可以使用看起来像历史替换的符号来检索别名中的选项。例如:
alias foo 'cd ~/path1/path2/\!:1 && make depend && make && make install'
这将允许您 运行 类似于 foo bar
并且别名将 cd ~/path1/path2/bar
。请注意,这只是在进行替换;在这种情况下,如果您要省略该选项而只是 运行 foo
,您的 make
链将是 运行 in ~/path1/path2/
。如果这是一个问题...写一个 shell 脚本而不是使用别名。