2016-11-25 9 views
-1

私はファイル/フォルダ名をキャプチャするためにreadコマンドを使用していますが、それらのファイルが存在するかどうかをさらに確認していますが、スクリプトの下には単一のファイル/ 。助けてください! ありがとうございました!複数のファイル/フォルダをシェルスクリプトで読み取る

echo -n "Please enter a name of file/folder you wish to backup: " 
read FILE 
while [ ! -e "$FILE" ] ;do 
read -p "The file ["$FILE"] does not exist." 
echo -n "Please enter a name of file/folder you wish to backup: " 
read FILE 
done 
+0

に一致しない&&||としてロジックの適切な流れを確保 するように、これは本当にif声明でなければならないことに注意してくださいユーザはファイル/フォルダを選択するように頼まれており、ユーザはcホセ1。しかし、私は、ユーザーがバックアップする複数のファイル/フォルダを選択できるようにしたい –

+0

あなたはすでに "while"構造の使い方に精通しているようです。最初の読み込み後に同じロジックを適用し、それ以上のファイルをバックアップするかどうかをユーザーに促し、必要に応じてwhileループから抜け出す。 –

+0

'の' $ {FILE} 'でfのために;あなたがスペースなしでファイル名を持っている限り、do .. doneは始まりです。 –

答えて

0

私はこれに似たアプローチを取ってお勧めします:

enter image description here

あなたが終了を強制するために、Ctrl + Cを使用することができます。

if then elseロジック

if [ "foo" = "foo" ]; then   
    echo expression evaluated as true 
else 
    echo expression evaluated as false 
fi 

https://github.com/koalaman/shellcheck/wiki/SC2015

+0

複数のファイルを使用している場合はどうなりますか? –

+0

これはctrl + cで中断するまで続きます。もう1つの選択肢は、ディレクトリ/ファイルのリストを1つのファイルに入れてから、ここのようなreadラインファイルを実行することです:http://mywiki.wooledge.org/BashFAQ/001そのサイトをブックマークすることをお勧めします。それは素晴らしいです!!! –

関連する問題