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

Warum kann ich Cd nicht in einem Bash-Skript verwenden?

Für diese Frage gibt es hier bereits Antworten :Skript zum Ändern des aktuellen Verzeichnisses (cd, pwd)

(11 Antworten)
Vor 3 Jahren geschlossen.

Ich habe ein sehr einfaches Skript erstellt

#!/bin/bash
mkdir $1 && cd $1

wenn ich ausführe

myscript test

Es erstellt ein Testverzeichnis, geht aber nicht gleich danach hinein. Ich verstehe nicht warum, auf meinem Fedora 27 funktioniert dieses Skript ohne Probleme, aber auf meinem Debian-Stretch tritt dieses Verhalten auf. Könnte jemand erklären, warum ich diesen Fehler habe.

Akzeptierte Antwort:

Sie können und es funktioniert perfekt. Aber wenn das Skript fertig ist, wird seine Umgebung (einschließlich seiner Arbeitsverzeichnis) wird zerstört.

Probieren Sie source myscript test aus um Ihr Skript so auszuführen, als ob Sie seine Befehle in Ihre tatsächliche interaktive Shell eingegeben hätten, und Ihr Arbeitsverzeichnis wurde geändert.


Linux
  1. Warum erkennt das Bash-Skript keine Aliase?

  2. Wie debuggt man ein Bash-Skript?

  3. Kann dieses Skript nicht verstehen. Basch ?

  4. Warum kann ich die Pgrep-Ausgabe nicht direkt auf eine Variable im Bash-Skript bringen?

  5. Warum kann ich Leerzeichen in einem Bash-Skript nicht maskieren?

Verwenden Sie dieses hilfreiche Bash-Skript, wenn Sie Sterne beobachten

Warum ich rxvt als Terminal verwende

35 Bash-Skriptbeispiele

So führen Sie ein Bash-Skript aus

Wie führt man ein Bash-Skript aus?

Wie führe ich ein Bash-Skript über einen absoluten Pfad aus?