シェルスクリプトから入力としてスペースを読む

シェルスクリプトから入力としてスペースを読む

" "シェルスクリプトでスペースを入力として提供する方法は?

前任者:

echo " Enter date for grep... Ex: Oct  6 [***Double space is important for single date***] (or) Oct 12 "
read mdate 
echo $mdate

しかし、私が得た結果はOct 6私が望むものですOct 6

答え1

あなたはすでにOct  6それを持っています$mdate。問題は、印刷時にそれを拡張することです。変数の置換には常に二重引用符を使用してください。。また、先頭と末尾の空白(削除済みread)を保持するには、空のIFS文字列に設定します。

IFS= read -r mdate
echo "$mdate"

これ-r(アル字型aw)読み取りオプションはバックスラッシュを特に処理しないように指示しますが、これはほとんどの場合望ましい方法です(しかし、ここでは問題ではありません)。

関連情報