Linuxシェルでコマンド実行結果を入れた変数の改行を出力する方法
小粋空間 » Linux » Linuxシェルでコマンド実行結果を入れた変数の改行を出力する方法
Linuxシェルでコマンド実行結果を入れた変数の改行を出力する方法を紹介します。
1.問題点
次のようなシェルスクリプト(test.sh)を作りました。
#!/bin/bash
result=`ls -l`
echo $result
このスクリプトを実行すると、
# ./test.sh
合計 16 -rw-r--r--. 1 root root 8 2月 13 17:40 2020 aaa -rw-r--r--. 1 root root 8 2月 13 17:40 2020 bbb -rw-r--r--. 1 root root 8 2月 13 17:40 2020 ccc -rwxrwxr-x. 1 root root 41 2月 13 17:38 2020 test.sh
となり、改行が失われますが、対処方法が分かりません。
ということで、シェルでコマンド実行結果を入れた変数の改行を出力する方法を紹介します。
2.コマンド実行結果を入れた変数の改行を出力する
コマンド実行結果を入れた変数の改行を出力するには、echoするときの変数をダブルクォーテーションで括ればOKです。
#!/bin/bash
result=`ls -l`
echo "$result"
これで改行が反映されます。
# ./test.sh
合計 16
-rw-r--r--. 1 root root 8 2月 13 17:40 2020 aaa
-rw-r--r--. 1 root root 8 2月 13 17:40 2020 bbb
-rw-r--r--. 1 root root 8 2月 13 17:40 2020 ccc
-rwxrwxr-x. 1 root root 41 2月 13 17:38 2020 test.sh