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

Kann ich unter Unix 'make' in einem Verzeichnis ausführen, ohne zuerst in dieses Verzeichnis zu wechseln?

make -C /path/to/dir


Wie in anderen Antworten erwähnt, hat make(1) einen -C Option dafür; mehrere Befehle haben ähnliche Optionen (z. B. tar). Es ist nützlich zu beachten, dass für andere Befehle, denen solche Optionen fehlen, Folgendes verwendet werden kann:

(cd /dir/path && command-to-run)

Dadurch wird der Befehl in einer Sub-Shell ausgeführt, deren Arbeitsverzeichnis zuerst geändert wird (während das Arbeitsverzeichnis der übergeordneten Shell in Ruhe gelassen wird). Hier && wird anstelle von ; verwendet um Fehlerfälle abzufangen, bei denen das Verzeichnis nicht geändert werden kann.


Wenn Sie nicht in ein Verzeichnis wechseln möchten, weil Sie für eine spätere Aufgabe im aktuellen Verzeichnis bleiben müssen, können Sie pushd und popd verwenden:

pushd ProjectDir ; make ; popd

Das geht in das ProjectDir, führt make aus und kehrt dorthin zurück, wo Sie waren.


Linux
  1. Pwd ohne Symlinks?

  2. Einen Befehl ausführen, der von einem Alias ​​verdeckt wird?

  3. Können Sie mehrere ausführbare Skripte in einem Verzeichnis ablegen und durch die Beschaffung dieses Verzeichnisses alle diese Befehle verfügbar machen?

  4. Ssh – Benötigen Sie ein Tty, um Sudo auszuführen, wenn ich Sudo ohne Passwort ausführen kann?

  5. MySQLdump ohne Passwort im Cronjob

12 lustige Linux-Befehle, die Sie zum Lachen bringen können

Wie kann ich dos2unix auf einem ganzen Verzeichnis ausführen?

Wie kann ich eine Datei/ein Verzeichnis finden, das sich irgendwo in der Linux-Befehlszeile befinden könnte?

Führen Sie ein ls aus, ohne den vollständigen Pfad zu erhalten

Stimmt es, dass die erste Version von Linux auf Teilen von Unix basierte?

Docker-compose:kann nicht OHNE sudo bauen, aber ich kann Container ohne es ausführen