Warum funktioniert der folgende Code nicht?
#!/bin/sh
PATH=$PWD/Info
defaults read $PATH
Jedes Mal, wenn ich es ausführe, bekomme ich
./script: Zeile 3: Standard: Befehl nicht gefunden
Sobald ich es in einer Zeile mache, funktioniert es
defaults read $PWD/Info
So ist es in Ordnung. Ich bin nur Neugierig.
Antworten:
Weil Sie sich ändern
$PATH
, was eine spezielle Variable ist. Die Shell verwendet PATH für die Suche nach ausführbaren Programmen.defaults
ist wahrscheinlich einer von ihnen, aber nachdem der Ordner aus PATH entfernt wurde, kann die Shell ihn nicht mehr ausführen.quelle
Zum Pfad hinzufügen, anstatt ihn zu ersetzen:
quelle
PATH="$PWD/Info:$PATH"
oderPATH="$PATH:$PWD/Info"