C Shell 脚本语法错误“意外的文件结尾”

C Shell 脚本语法错误“意外的文件结尾”

我正在尝试编写一个 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

进一步阅读:

相关内容