Ich habe ein Skript in /A/B/script.sh. Wenn es aufgerufen wird, muss es Dateien in/X/Y/Z bearbeiten. Wie kann ich ein Arbeitsverzeichnis speziell für das Skript, in das Skript festlegen?Setze Arbeitsverzeichnis für Skript
1
A
Antwort
1
Setzen Sie eine cd
-Anweisung in das Skript, genau wie Sie es eingeben würden, um Ihr Arbeitsverzeichnis aus einer interaktiven Bash-Shell zu erstellen.
+1
Eigentlich - * in * das Skript, sollte es Fehlerbehandlung haben. dh. 'cd/X/Y/Z || exit "- ein Mensch, der Dinge interaktiv ausführt, merkt, wenn ein' cd' fehlschlägt, ein Skript ändert sonst Dateien im falschen Verzeichnis. Siehe https://github.com/koalaman/shellcheck/wiki/SC2164 –
Verwandte Themen
- 1. Arbeitsverzeichnis für popen angeben
- 2. Wie setze ich das Arbeitsverzeichnis auf Code :: Blocks auf Mac?
- 3. Wie setze ich das Arbeitsverzeichnis auf ein älteres Commit?
- 4. Wie erkennt R das Arbeitsverzeichnis als Arbeitsverzeichnis?
- 5. QtCreator-Arbeitsverzeichnis für ein benutzerdefiniertes Projekt?
- 6. Xcode: Wie setze ich das aktuelle Arbeitsverzeichnis auf einen relativen Pfad für eine ausführbare Datei?
- 7. Skript-Test scheint nicht korrekt Arbeitsverzeichnis zu haben
- 8. Wie setze ich eine Region für ein Skript? Sikuli
- 9. SWI Prolog Arbeitsverzeichnis wechseln/aktuelles Arbeitsverzeichnis abrufen?
- 10. Ich möchte Arbeitsverzeichnis aufzuspalten Pfad in Perl-Skript
- 11. Call shell skript mit spezifischem Arbeitsverzeichnis von R
- 12. Warum wurde das Arbeitsverzeichnis nicht mit meinem Skript geändert?
- 13. Ändern Arbeitsverzeichnis in der Shell mit einem Python-Skript
- 14. WPF-Arbeitsverzeichnis
- 15. PyCharm aktuelles Arbeitsverzeichnis
- 16. Setze Parameter wenn require_once ein PHP-Skript
- 17. Mühe, Arbeitsverzeichnis
- 18. Hadoop-Arbeitsverzeichnis
- 19. Arbeitsverzeichnis wechseln
- 20. Arbeitsverzeichnis komprimieren
- 21. Erlang: ein Arbeitsverzeichnis für Mnesia angeben?
- 22. VSCode - wie Arbeitsverzeichnis für Debug gesetzt wird
- 23. In Python-Skript, wie setze ich PYTHONPATH?
- 24. Arbeitsverzeichnis in sbt
- 25. Python: Unterprozess mit unterschiedlichem Arbeitsverzeichnis
- 26. PowerShell Start-Job-Arbeitsverzeichnis
- 27. Arbeitsverzeichnis von Ant finden
- 28. Setze vim aktuelles Arbeitsverzeichnis auf den aktuellen Projektstamm oder auf das Verzeichnis der aktuellen Datei
- 29. Setze Deckkraft für TextView
- 30. Wie wird das Arbeitsverzeichnis für Node.js in Windows festgelegt?
Anmerkung: Ich weiß, dass ich es manuell mit aufrufen können (cd/X/Y/Z; ./script.sh), aber ich brauche das Skript ausführen in einem crontab –
crontab regelmäßig zu nimmt tatsächlich eine Zeichenfolge mit laufen '/ bin/sh -c" yourstring "' (ersetzt '/ bin/sh', wenn Ihre crontab eine eigene' SHELL'-Variable liefert), also ist sie nicht auf einen Befehl gleichzeitig beschränkt. –
und BTW, wenn Sie es in Parens so machen, verwenden Sie 'exec':' (cd/X/Y/Z && exec./Script.sh) '- so die Kosten, die Sie bezahlen Die Subshell, nach der die Parens fragen, wird ausgeglichen, indem diese Subshell über eine 'exec' konsumiert wird, anstatt Ihre' script.sh' als Subprozess der Subshell auszuführen, die selbst ein Subprozess ist. –