Re: 問題ID:22156について
arashi1977
居住地: 広島
投稿数: 1715
引用:もーちょっと厳密に言うと、バッククオート(`)で囲まれた範囲は「変数かどうかによらず、コマンドとして実行する」ものです。例えば以下のようなことです。
それの何が嬉しいの?ってこともあると思いますが、例えば
みたいな感じで、「コマンドの実行結果を文字列としてシェルに渡す」事ができるので、コマンドライン作業に柔軟性が出てくるんです。
「`」で囲まれた文字列は変数に格納されたコマンドも展開するが、「"」で囲まれた文字列は変数の展開のみを行い、変数に格納されたコマンドは展開しない
$ echo `cat /etc/redhat-release`
CentOS Linux release 7.6.1810 (Core)
それの何が嬉しいの?ってこともあると思いますが、例えば
# ls -l
合計 0 ←今このディレクトリにはなにもない
# ls -1 | wc -l
0 ←lsコマンドで出力される行数は0
# touch testfile-`ls -1 | wc -l` ←上記のコマンドの結果を利用して
# ls -l
合計 0
-rw-r--r--. 1 root root 0 6月 19 09:43 testfile-0 ←テストファイルに通番(0)を付与して作成
# ls -1 | wc -l
1 ←1ファイルあるので、lsコマンドの出力行数は1
# touch testfile-`ls -1 | wc -l` ←連続して同じコマンドを実行
# ls -l
合計 0
-rw-r--r--. 1 root root 0 6月 19 09:43 testfile-0
-rw-r--r--. 1 root root 0 6月 19 09:43 testfile-1 ←ファイルの通番がファイル数に応じて増加している
投稿ツリー
-
問題ID:22156について
(kan1111, 2019-6-18 13:37)
- Re: 問題ID:22156について (arashi1977, 2019-6-18 14:47)
-
Re: 問題ID:22156について
(kan1111, 2019-6-18 15:36)
- Re: 問題ID:22156について (arashi1977, 2019-6-18 22:43)
-
Re: 問題ID:22156について
(kan1111, 2019-6-19 9:03)
- Re: 問題ID:22156について (arashi1977, 2019-6-19 9:48)
- Re: 問題ID:22156について (kan1111, 2019-6-19 10:30)