csh脚本中出现错误

csh脚本中出现错误,csh,tcsh,Csh,Tcsh,我正在使用C-Shell,我正在尝试运行此脚本 set callsTo = "`cut -d" " -f2 ${1}`" echo $callsTo cut从作为第一个参数的文件接收数据: > ./myscript data 我只需要每行的第二个字段:-f2 之后,我想检查是否存储了数据,但我收到了一个不匹配的错误。或空行。我的剧本怎么了 当我使用#时也是如此/bin/tcsh-f我收到此消息 tcsh [ -bcdefilmnqstvVxX ] [ argument ... ]

我正在使用C-Shell,我正在尝试运行此脚本

set callsTo = "`cut -d" " -f2 ${1}`"
echo $callsTo
cut从作为第一个参数的文件接收数据:

> ./myscript data
我只需要每行的第二个字段:
-f2

之后,我想检查是否存储了数据,但我收到了一个不匹配的错误。或空行。我的剧本怎么了

当我使用
#时也是如此/bin/tcsh-f
我收到此消息

 tcsh [ -bcdefilmnqstvVxX ] [ argument ... ]

我不知道tcsh,但这条线不应该吗

set callsTo = "`cut -d" " -f2 ${1}`"

在bash中,我会这样做:

callsTo=`cut -d' ' -f2 $1`?

希望这有帮助。

双引号不要那样嵌套

试试这个:

set callsTo = "`cut -d' ' -f2 ${1}`"
当我使用#时也是如此/bin/tcsh-f我收到此消息

tcsh[-bcdefinlnqstvxx][argument…]


真奇怪。是否可能在
-f
后面有一个游离字符,或者是Windows样式行结尾的
'\r'
字符?
head-1*foo*.tcsh | od-c
的输出是什么?

set filename=
echo${1}| cut-f1-d'.

echo$filename
在bash中试试这个

callsTo=$(cut-d'-f2“$1”)
<代码>$()对于用户来说更具可预测性,并且与反勾号相比嵌套效果更好。我不知道等效的csh,但寻找它可能会有所帮助。csh没有
$(…)
语法;它只有背勾。
set callsTo = "`cut -d' ' -f2 ${1}`"