レス
前レス元トピ次レス
タイトル
Re: 問題ID:22156について
フォーラム
最強WEB問題集LinuC/LPIC Lv1 101
投稿ユーザ(投稿日)
(2019/6/18)
本文

-----引用(始)-----

「`」で囲まれた文字列は変数に格納されたコマンドも展開するが、「"」で囲まれた文字列は変数の展開のみを行い、変数に格納されたコマンドは展開しない

-----引用(終)-----

もーちょっと厳密に言うと、バッククオート(`)で囲まれた範囲は「変数かどうかによらず、コマンドとして実行する」ものです。例えば以下のようなことです。
[code]
$ echo `cat /etc/redhat-release`
CentOS Linux release 7.6.1810 (Core)
[/code]

それの何が嬉しいの?ってこともあると思いますが、例えば
[code]
# 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 ←ファイルの通番がファイル数に応じて増加している
[/code]
みたいな感じで、「コマンドの実行結果を文字列としてシェルに渡す」事ができるので、コマンドライン作業に柔軟性が出てくるんです。

レス一覧

前レス元トピ次レス


Ping-tモバイルTOP

Copyright (c) 2010
Ping-t All rights reserved.