0

私はC-Shellを使用していますが、このスクリプトを実行しようとしています

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

cutは、最初のパラメーターであるファイルからデータを受け取ります。

> ./myscript data

すべての行から2番目のフィールドのみが必要です:-f2

その後、データが保存されているかどうかを確認したいのですが、一致しないエラーが表示されます。または空の行。スクリプトの何が問題になっていますか?

また、使用しているときに#! /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 に答える