csh脚本中出现错误
我正在使用C-Shell,我正在尝试运行此脚本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 ... ]
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}`"