GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bedeutet ` (Backquote/Backtick) in Befehlen?

Ich bin auf folgenden Befehl gestoßen:

sudo chown `id -u` /somedir

und ich frage mich:was bedeutet der ` Symbol. Mir ist zum Beispiel aufgefallen, dass der obige Befehl zwar gut funktioniert, der folgende jedoch nicht:

sudo chown 'id -u' /somedir

Akzeptierte Antwort:

Dies ist ein Backtick . Ein Backtick ist kein Anführungszeichen. Es hat eine ganz besondere Bedeutung. Alles, was Sie zwischen den Backticks eingeben, wird von der Shell vor dem Hauptbefehl ausgewertet (ausgeführt) (wie chown in Ihren Beispielen) und die Ausgabe dieser Ausführung wird von diesem Befehl verwendet, so als ob Sie diese Ausgabe an dieser Stelle in der Befehlszeile eingeben würden.

Also, was

sudo chown `id -u` /somedir

effektiv läuft (abhängig von Ihrer Benutzer-ID ) ist:

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

Sehen Sie sich diese Frage an, um zu erfahren, warum es in vielen Situationen keine gute Idee ist, Backticks zu verwenden.

Übrigens, wenn Sie jemals einen Backtick wörtlich verwenden wollten, z. B. in einem String können Sie ihm mit einem Backslash ( ) davor.


Linux
  1. Was bedeutet „–“ (Doppelstrich)?

  2. Was bedeutet die Größe eines Verzeichnisses in der Ausgabe des Befehls „ls -l“?

  3. Was macht . ~/.bashrc Befehl Tun??

  4. Was bedeutet Symbolwert vom nm-Befehl?

  5. Was bedeutet &am Ende eines Linux-Befehls?

Was bedeutet chmod 777

Was bedeutet Cat-Befehl unter Linux?

Was bedeutet es, „sh-kompatibel“ zu sein?

Was bedeutet „chown Root.root $file“?

Was bedeutet „rm ist gehasht“?

Keine X11-DISPLAY-Variable - was bedeutet das?