文字列のbash変数の後にスペースを避ける方法は?


17

色の変数があります。文字列内で評価することにより、文字列に色を設定するために使用します。ただし、名前の後にスペースを含める必要があります(名前にテキストの一部が含まれないようにするため)。これは時々悪く見える。

このスペースの使用(印刷)を避けるにはどうすればよいですか?

例(と言うとRed=1NC=2):

echo -e "$Red Note: blabla$NC".

出力:

1 Note: blabla2.

期待される出力:

1Note: blabla2.

回答:



4

使用する習慣に入るべきものはprintfです。

printf '%sNote: blabla%s\n' "$Red" "$NC"

それぞれ%sが変数を置き換える場所。また、-eprintfは円記号の値\ n、\ tなどを移植可能な方法で受け入れるため、は必要ありません。

echo -e他のシェルに移植できないことを忘れないでください。

他のオプション:

出力を連結する2つのコマンドを使用できます。

echo -ne "$Red"; echo -e "Note: blabla$NC"

単純な文字列連結を使用できます。

echo -e "$Red""Note: blabla$NC"

または{ }、名前とテキストの混乱を避けるために利用できます:

echo -e "${Red}Note: blabla$NC"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.