如何在csh/tcsh中写一个可以用shebang写一个文件的别名?
How to write an alias in csh/tcsh that can write one file with 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
您的别名扩展需要\!
,所以定义时必须使用\!
。第一个反斜杠在 alias-defining 命令的处理过程中消失,第二个反斜杠在别名运行时保护 !
。
我想用我的别名编写一个脚本,但无法使用 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
您的别名扩展需要\!
,所以定义时必须使用\!
。第一个反斜杠在 alias-defining 命令的处理过程中消失,第二个反斜杠在别名运行时保护 !
。