0

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

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

cut 从文件中接收数据,这是第一个参数:

> ./myscript data

我只需要每一行的第二个字段:-f2.

之后,我想检查数据是否已存储,但我收到或错误 unmatched 。或空行。我的脚本有什么问题?

另外,当我使用时,#! /bin/tcsh -f我会收到此消息

 tcsh [ -bcdefilmnqstvVxX ] [ argument ... ]
4

3 回答 3

1

双引号不会这样嵌套。

尝试这个:

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

当我使用 #! /bin/tcsh -f 我收到这条消息

tcsh [ -bcdefilmnqstvVxX ] [ 参数 ... ]

这很奇怪。是否有可能在 之后有一个杂散字符-f,也许是'\r'Windows 样式行结尾的字符?的输出是head -1 *foo*.tcsh | od -c什么?

于 2011-08-24T21:28:08.680 回答
0

set filename= echo ${1}|cut -f1 -d'#'
echo $filename
试试这个

于 2011-09-15T04:26:52.273 回答
0

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

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

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

在 bash 中,我会这样做:

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

希望这可以帮助。

于 2010-05-31T10:08:22.973 回答