如何在 csh/tcsh 中编写一个别名,该别名可以使用 shebang 写入一个文件



我想用我的别名编写一个脚本,但无法使用 echo 命令在我的脚本中添加 bang 行。我尝试了这些方法:

alias wnc 'echo "#!/bin/csh " > cshCMD.csh; echo "ncl" >> cshCMD.csh; chmod +x cshCMD.csh; '
alias wnc "echo '#!/bin/csh ' > cshCMD.csh; echo 'ncl' >> cshCMD.csh; chmod +x cshCMD.csh;"  

如果我在没有别名的情况下运行这些行,那么它们对我有用。

echo "#!/bin/csh " > cshCMD.csh; echo "ncl" >> cshCMD.csh; chmod +x cshCMD.csh; 

通过直接键入和使用命令,我将在文件中获取数据cshCMD.csh 作为:

  • #!/bin/csh
  • ncl

而当我在命令行上使用别名时

wnc 

我收到这条消息:

/bin/csh: Event not found
别名

的扩展需要!,因此在定义别名时必须使用\!。第一个反斜杠在处理别名定义命令期间消失,第二个反斜杠在别名运行时保护!

最新更新