<$( )> すべきこと

<$( )> すべきこと

この質問の構文を見ました。ext4の生成が空です。

sudo debugfs -R "stat <$(stat -c %i /home/user/path/to/file)>" /dev/sda5

私はコマンドの置き換え$()``

私は<()構文>()を漠然と知っています。

しかし、私はそのようなことを見たことがありません<$()>

それで、それは何をしますか?

ベストアンサー1

<$()><これは、ファイル(部分)から読み取るコマンドの有効なbash構文です。ここで、ファイル名は$()コマンド置換(部分)を使用して生成され、出力を別のファイル(> 部分)にリダイレクトします。例:

$ echo text > FILE
$ wc < "$(echo FILE)" > WC_OUT
$ cat WC_OUT
1 1 5

ただし、あなたがリンクした回答では、<$()>パラメータにtoが使用されましたdebugfs。内容man debugfsは次のとおりです。

統計ファイルの仕様

inode filespecのinode構造の内容を表示します。

そして:

filespecパラメーターは2つの形式で指定できます。最初の形式は、<2>のように山かっこで囲まれたinode番号です。

この場合:

sudo debugfs -R "stat <$(stat -c %i FILE)>" /dev/sda5

シェルでは、次のように展開されます。

sudo debugfs -R "stat <4476834>" /dev/sda5

これは有効なdebugfsコマンドです。確認してくださいecho

$ echo sudo debugfs -R "stat <$(stat -c %i FILE)>" /dev/sda5
sudo debugfs -R stat <4476834> /dev/sda5

おすすめ記事