Re: 問題ID:22156について
ゲスト
投稿数: 0
引用:もーちょっと厳密に言うと、バッククオート(`)で囲まれた範囲は「変数かどうかによらず、コマンドとして実行する」ものです。例えば以下のようなことです。
それの何が嬉しいの?ってこともあると思いますが、例えば
みたいな感じで、「コマンドの実行結果を文字列としてシェルに渡す」事ができるので、コマンドライン作業に柔軟性が出てくるんです。
「`」で囲まれた文字列は変数に格納されたコマンドも展開するが、「"」で囲まれた文字列は変数の展開のみを行い、変数に格納されたコマンドは展開しない
$ 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について (ゲスト, 2019-6-18 13:37)
-
Re: 問題ID:22156について (ゲスト, 2019-6-18 14:47)
-
Re: 問題ID:22156について (ゲスト, 2019-6-18 15:36)
-
Re: 問題ID:22156について (ゲスト, 2019-6-18 22:43)
-
-
Re: 問題ID:22156について (ゲスト, 2019-6-19 9:03)
-
Re: 問題ID:22156について (ゲスト, 2019-6-19 9:48)
-
-
Re: 問題ID:22156について (ゲスト, 2019-6-19 10:30)
-