2015-06-29 79 views
2

我想讓我的腳本重複,直到用戶離開塊空問題。我剛剛得到了循環運行,但我無法找到一種方法來使塊在空時停止它。如何循環腳本直到用戶輸入爲空?

我希望有人能幫助我!

#!/bin/tcsh -f 
# 

set word="start" 
until ($word !=""); do 

#First ask for Compound and Block Name. 
echo -n "please enter block name: " 
read block 
echo -n "please enter compound name: " 
read compound 

#Now coping template with new name 
# 
cp Template $block 
# 
     for line in `cat $block`;do 
     echo $line | sed -e "s/test1/${block}/g" -e "s/test2/${compound}/g" >>./tmp124.txt 
done 

mv ./tmp124.txt $block 

done 
+0

請,總是顯示錯誤信息!爲什麼讓我們猜測? – cdarke

+0

抱歉給您帶來不便。我的錯誤是:第20行的語法錯誤:'文件結束'意外。 – Ken

回答

2

你想使用bash或csh嗎?您正在使用bash語法,但在您的代碼的第一行標記了您的問題csh並調用tcsh。

要回答你的問題,在這裏是如何在標準輸入重複的例子,直到某些輸入爲空:

對於tcsh:

#!/bin/tcsh 

while (1) 
    set word = "$<" 
    if ("$word" == "") then 
     break 
    endif 

    # rest of code... 
end 

對於bash:

#!/bin/bash 

while read word; do 
    if [ -z $word ]; then 
     break 
    fi 

    # rest of code... 
done 
相關問題