nasからサーバーをシャットダウンさせるスクリプトの中に
ヒアストリング(herestring)があった。
どのような機能があるのか確認してみようと思った
cat <<EOT > test > 試験的な文 > 最後の行 EOT実行結果は
test 試験的な文 最後の行のようになります。
1.「cat」で確認
str="abcdefg"
cat < abcd -bash: abcd: そのようなファイルやディレクトリはありません cat <<< abcd abcd
cat < "abcd" -bash: abcd: そのようなファイルやディレクトリはありません cat <<< "abcd" abcd
cat < $str -bash: abcdefg: そのようなファイルやディレクトリはありません cat <<< $str abcdefg
cat < "$str" -bash: abcdefg: そのようなファイルやディレクトリはありません cat <<< "$str" abcdefg
2.「tr」で確認
str1="hijklmn"
tr a-z A-Z < abcd -bash: abcd: そのようなファイルやディレクトリはありません tr a-z A-Z <<< abcd ABCD
tr a-z A-Z < "abcd" -bash: abcd: そのようなファイルやディレクトリはありません tr a-z A-Z <<< "abcd" ABCD
tr a-z A-Z < $str1 -bash: hijklmn: そのようなファイルやディレクトリはありません tr a-z A-Z <<< $str1 HIJKLMN
tr a-z A-Z < "$str1" -bash: hijklmn: そのようなファイルやディレクトリはありません tr a-z A-Z <<< "$str1" HIJKLMN(2018/04/28 追記ここから)
tr a-z A-Z < 'abcd' -bash: abcd: そのようなファイルやディレクトリはありません tr a-z A-Z <<< '$str1' $STR1
tr a-z A-Z < `abcd` コマンド 'abcd' は見つかりませんでした。もしかして: コマンド 'abcde' - パッケージ 'abcde' (universe) コマンド 'bcd' - パッケージ 'bsdgames' (universe) コマンド 'lbcd' - パッケージ 'lbcd' (universe) コマンド 'ascd' - パッケージ 'ascd' (universe) abcd: コマンドが見つかりません -bash: `abcd`: 曖昧なリダイレクトです tr a-z A-Z <<< `$str1` hijklmn: コマンドが見つかりませんヒアストリングのシングルクォート「’」は変数が展開されず、変数そのものが渡されています。