2016-06-17 58 views
0

插入多個變量,我想插入從鍵盤多個名稱,如格式:如何從鍵盤

A 
B 
C 

我試圖用while循環是這樣的:

name=$* 
while [ "$name" != "done" ] 
do 
echo "name:" 
read $name 
echo "$name" 
done 

當我插入"done",它將完成循環並將所有名稱寫入文本文件

+0

您的腳本不會寫所有的名字到一個文本文件中。這是你的問題?如何將它們寫入文本文件? –

+2

有問題嗎? – 123

+0

親愛的@弗洛林Ghita 請不要關心我的腳本,它不工作。我的意思是我想從鍵盤插入一些名稱,並可以將所有名稱寫入文件或打印出來... – viet

回答

0

使用cat並從標準輸入讀取出現了什麼問題?

cat - 

您可以將輸出重定向到一個文件,並關閉與<Ctrl-D>

$ cat - > new_file 
hello 
world 
<Ctrl-D> 
$ cat new_file 
hello 
world 
+0

@ Mr.andlrc 感謝您的支持幫助.... – viet

0

輸入文件這是你在找什麼?

#!/bin/bash 
while true 
do 
read -p "Enter line : " line 
if [[ $line = "done" ]] 
then 
    exit -1 
    #-1 to show abnormal input ie "done" 
else 
    echo "$line" >> file #appending what you entered using >> 
fi 
done 

或者地道:

#!/bin/bash 
cat /dev/null > file #Emptying file if already exist 
while read -p "Enter line : " line && [[ $line != "done" ]] 
do 
    echo "$line" >> file 
done 
+0

謝謝Mr.sjssam 它的工作......你非常幫助我:D – viet