2012-12-19 104 views
0

我創建一個這樣的腳本集VAR在csh腳本

#!/bin/csh 

set h=1; 

while [h=1] do echo "hi"; h=2; done; 

但是當我執行它得到這樣的:

===> message after : csh test.sh  [h=1]: No match. 
+0

爲什麼c被標記? – askmish

回答

1

嘗試:

set h = 1 

while ($h == 1) 
    echo "hi" 
    set h = 2 
end 

你似乎嘗試將Bourne shell語法混合到您的C shell腳本中。

Csh的通常是腳本一個糟糕的語言,儘量避免它,如果在所有可能的

http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/

UPDATE:

這個csh相當於read h是:

set h = $< 
+0

謝謝它的工作,現在另一個問題與讀取 –

+0

#!/ bin/csh 設置h = 1; 而($ H == 1) 回聲 「喜」 讀小時; echo「write value deferent then 1」 read h end –

+0

不要試圖在註釋中放置代碼,所有格式都會丟失。編輯你的問題。但答案是,在csh中沒有'read'命令,那也是Bourne shell。請RTFM。 – Barmar