美好的一天,如何在csh腳本中分配變量並將它們用作同一腳本的參數?
希望在這裏的任何人的善意幫助,在此先感謝。 我有T.csh看起來像這樣:
#! /bin/csh
set a="01 02 03 04 05 06 07 08 09 10 11 12 13"
set b="14 15 16 17 18 19 20 21 22 23 24 25"
set c="01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25"
set X = `grep $1 EOL.txt | head -n1 | cut -d- -f1`
printf "$X\n$2\n$3\nYYYY\n1\nN\n"
a,b和c的任選用作printf的行中的第三參數的變量。問題是,每當我嘗試運行腳本時,它都會顯示未定義的變量。這些設置的命令行在我以交互方式分配它們時正在工作,但在腳本內部,它似乎不起作用。也許我需要初始化它,但不知道如何。剛剛接觸這個編程的東西,我希望這裏有人能幫助我。提前致謝。
這裏有檢體執行和錯誤,供大家參考:
CAT-46{bc2}40>set a="01 02 03 04 05 06 07 08 09 10 11 12 13"
CAT-46{bc2}41>./T.csh 4773 XXXX.XX "$a"
62
XXXX.XX
01 02 03 04 05 06 07 08 09 10 11 12 13
82869
1
N
CAT-46{bc2}42>unset a
CAT-46{bc2}43>./T.csh 4773 XXXX.XX "$a"
a: Undefined variable
CAT-46{bc2}44>
如果我手動設置的變量,這是好的,但是當我要求它從腳本,其萎靡不振的不確定變量的錯誤。
麥克
將您看到的確切錯誤粘貼到您的問題中。 – codeforester
並顯示包含$ a,$ b,$ c的用法。基於昨天對於csh的另一個Q,我相信csh在變量賦值的空間中扼流。 (即使他們被引用)。因此,在花費大量時間之前,請確保您可以簡單地使用其中一個變量(其中包含空格)。請參閱http://grymoire.com/unix/csh.html獲取合理的csh教程,並討論爲什麼您可能想要使用'bash'。祝你好運。 – shellter