Linux Bash Shellはタブ(\ t)による読み取りをサポートしています。

Linux Bash Shellはタブ(\ t)による読み取りをサポートしています。

\t水平タブ付きのオプションecho

wolf@linux:~$ echo hello
hello
wolf@linux:~$ 

wolf@linux:~$ echo -e '\thello'
    hello
wolf@linux:~$ 

にも同様のオプションがありますかread

wolf@linux:~$ read -p 'hello '
hello wolf
wolf@linux:~$ 
wolf@linux:~$ read -p '\thello '
\thello wolf
wolf@linux:~$ 

希望の出力

wolf@linux:~$ read -p '\thello ' <- need something to produce something like tab or `\t` in `echo`
    hello wolf
wolf@linux:~$ 

ベストアンサー1

$'...'これらのエスケープシーケンスを理解するには、いつでもksh93スタイルの引用を使用できます。

IFS= read -r -p $'\thello ' var

(そして関係IFS=ありません。それらがなければ、呼び出しはほとんど意味がない-rのでここに追加しています)。read

これは-p標準機能ではありませんsh。 ksh / zshでは、-p共同プロセスから読み取られ、プロンプトが指定されますread 'var?Prompt: 'bashここで互換性のないAPIを導入することを選択したのは残念です。しかし、必ずしもそれを使用する必要はありません。-p携帯用にできます:

printf >&2 '\thello '
IFS= read -r var

printf型パラメータと指定子パラメータはこれらのエスケープシーケンスを認識します%becho認識の有無(または-e認識オプションの許可)は実装によって異なり、多くの実装(組み込みを含むbash)の場合、ビルド時間とランタイム設定によって異なります。避けるのが一番

おすすめ記事