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: Standardeinstellungen: Befehl nicht gefunden
Sobald ich es in einer Zeile mache, funktioniert es
defaults read $PWD/Info
So ist es ok. Ich bin einfach nur neugierig.
Antwort1
Weil Sie ändern $PATH
, was eine spezielle Variable ist. Die Shell verwendet PATH zum Suchen nach ausführbaren Programmen. defaults
ist wahrscheinlich eines davon, aber nachdem sein Ordner aus PATH entfernt wurde, kann die Shell es nicht mehr ausführen.
Antwort2
Dem Pfad hinzufügen, statt ihn zu ersetzen:
PATH=$PWD/Info:$PATH