3
我有一個腳本,用戶應該可以輸入帶空格的字符串。到目前爲止,我有:用csh中的空格讀取用戶輸入Shell Script
#bin/csh
echo "TEST 1"
echo -n "Input : "
set TEST = $<
echo "Var | " $TEST
set TEST=`echo $TEST`
echo "Var after echo | " $TEST
set TEST=`echo $TEST | sed 's/ /_/g'`
echo "Var after change | " $TEST
如果我在「輸入」輸入字符串「R R R」,$測試只會採取「R」。我希望能夠將$ TEST設置爲「r r r」。這可能嗎? 如果我輸入類似「111」的字符串,我得到一個錯誤:
set: Variable name must begin with a letter.
什麼是這個原因?
我可以指您http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/嗎?它不會解決你的問題,但它說明了爲什麼csh不是編程的最佳外殼的各種原因:-) – 2009-04-22 08:20:14
是的。我通常使用sh。在這種情況下,我需要導航到不同的目錄,並在腳本存在時仍然在那裏。我通過使用源(別名aenew'source〜/ scripts/aenewc')來做到這一點。因此,如果用戶在c shell中工作,那麼腳本也必須位於「csh」中。這就是我在這種情況下使用csh的原因。 – Gayan 2009-04-22 08:30:59