我有一个非常简单的csh脚本。
#!/bin/csh
echo "Hello World!"
echo "How are you today?"
但是我遇到了错误“:事件未找到。”
问题出在哪里?
#!/bin/csh
echo "Hello World!"
echo "How are you today?"
但是我遇到了错误“:事件未找到。”
问题出在哪里?
#!/bin/csh -f
echo "Hello World\!"
echo "How are you today?"
在一些系统上,我发现使用单引号而不是双引号可以避免错误。我认为这是因为在那些系统上,/bin/csh
是一个指向 /bin/tcsh
的符号链接,它的工作方式有一点不同。如果您想让您的脚本具备可移植性,就不应该依赖此功能。
请注意,我还在 #!
行中添加了一个 -f
选项。这可以防止 shell 在启动时执行您的 $HOME/.cshrc
,并且对于 csh 脚本来说通常是个好主意。它使它们运行得更快,并防止意外依赖于您自己的 .cshrc
,这可能会在他人运行您的脚本时出现问题。
无论何时涉及到 csh 脚本的问题,我都有法律义务 [*] 发布此链接:
http://www.perl.com/doc/FMTEYEWTK/versus/csh.whynot
[*] 我实际上没有法律义务发布此链接。
#!/bin/csh -f
,然后再试一次。这可能与您的.cshrc
或.tcshrc
有关。 - timrau