GNU/Linux >> Linux の 問題 >  >> Linux

`(バッククォート/バックティック)はコマンドで何を意味しますか?

次のコマンドに出くわしました:

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

この質問を見て、多くの状況でバックティックを使用するのが得策ではない理由を確認してください。

ところで、文字通りバックティックを使用したい場合は、 文字列では、バックスラッシュ()を配置してエスケープできます )その前。


Linux
  1. 「–」(二点鎖線)とはどういう意味ですか?

  2. nmコマンドのシンボル値は何を意味しますか?

  3. Linuxコマンドの最後の&はどういう意味ですか?

  1. この Linux コマンドの - はどういう意味ですか?

  2. [[ $? -ne 0 ]]; .ksh の意味

  3. 構文 |&はシェル言語で何を意味しますか?

  1. `chown Root.root $ file`はどういう意味ですか?

  2. 「rmIsHashed」とはどういう意味ですか?

  3. コマンド ラインの矢印 (->) 記号は何を意味しますか?