ユーザからの入力を読み込んでいるスクリプトがあります。ここに私のコードは次のとおりです。Bash入力の読み込み - プロンプトのタブ
if [ -z $volreadexists ]; then
echo -e "\tThis will overwrite the entire volume (/dev/vg01/$myhost)...are you sure?"
read REPLY
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo -e "\t\tContinuing"
syncvolume
else
echo "Fine...skipping"
fi
fi
私はそれだけでread
にタブが挿入されませんので、read REPLY
を使用することを抱えています。
read -p "\tDoes this look OK? (n for No)" -n 1 -r
\t
が読み取りプロンプトの上にタブをだろう:私が探しているのようなものです。
読み取りプロンプトにタブを追加するにはどうすればよいですか?
UPDATE:@gniourf !:
read -p $'\tDoes this look OK? (n for No)' -n 1 -r
からの偉大な答えてくれてありがとうしかし、私は問題を発見しました。私はそこに変数を使用しようとすると、それはそれを翻訳しません:
read -p $'\tThis will overwrite the entire volume (/dev/vg01/$myhost)...are you sure? ' -n 1 -r
は
私が欲しい This will overwrite the entire volume (/dev/vg01/$myhost)...are you sure?
次のようになります。二重引用符を使用して
This will overwrite the entire volume (/dev/vg01/server1)...are you sure?
はどちらか動作しません:(
アイデア?
[ANSI-C quoting](https://www.gnu.org/software/bash/manual/bashref.html#ANSI_002dC-Quoting)を使用してください: 'read -p $ '\ tこのように見えますか? (nはNo) '-n 1 -r' –
いいね!甘い、thx! – user3063045
@gniourf_gniourfあなたは実際にそれを回答として追加して、それをアップヴォートして(もっと重要なことに)受け入れることができます。 –