次のコマンドに出くわしました:
sudo chown `id -u` /somedir
そして、私は疑問に思います:`
の意味は何ですか シンボル。たとえば、上記のコマンドはうまく機能しますが、以下のコマンドは機能しないことに気づきました。
sudo chown 'id -u' /somedir
承認された回答:
これはバックティックです 。 バックティックは引用符ではありません。 それは非常に特別な意味を持っています。バックティックの間に入力したものはすべて、メインコマンド(chown
など)の前にシェルによって評価(実行)されます。 あなたの例では)、そして出力 その実行の一部は、コマンドラインのその場所でその出力を入力するのと同じように、そのコマンドによって使用されます。
だから、何
sudo chown `id -u` /somedir
効果的に実行されます(ユーザーID によって異なります) )は:
sudo chown 1000 /somedir
`-- the second argument to "chown" (target directory)
`-- your user ID, which is the output of "id -u" command
`-- "chown" command (change ownership of file/directory)
`-- the "run as root" command; everything after this is run with root privileges
この質問を見て、多くの状況でバックティックを使用するのが得策ではない理由を確認してください。
ところで、文字通りバックティックを使用したい場合は、例 文字列では、バックスラッシュ()を配置してエスケープできます )その前。