我正在尝试编写一个 c-shell 脚本来检查参数数量并回显字符串,但我收到意外的文件结尾语法错误,我不明白为什么。
这是我尝试过的:
if ( $#argv == 0 ) then
echo "Enter one or more args"
else
echo "Entry accepted"
endif
后来我尝试输出由此找到的每个参数:
if ( $#argv == 0 ) then
echo "Enter one or more args"
else
foreach arg ( $* )
echo "Found argument $arg"
end
endif
并得到了不同的语法错误“意外的标记‘(’”
任何帮助表示赞赏
答案1
同意评论者的评论@马克-绘图尼克,OP必须确保脚本运行西施,例如,通过添加“hash-bang”行:
#!/bin/csh
或使用适当的程序运行脚本:
csh ./foo
作为一般规则,如果脚本缺少此信息,它将使用/bin/sh
进一步阅读:
- 这 #! magic,有关各种 Unix 风格上的 shebang/hash-bang 机制的详细信息
- 3.16) 为什么有些脚本以#! 开头...? Unix - 常见问题 (3/7)