Bitte zeigen Sie uns weitere Teile des Skripts und teilen Sie uns mit, welche Befehle Sie einzeln ausführen mussten und einfach ausführen möchten.
In der Zwischenzeit müssen Sie doppelte Anführungszeichen und keine einfachen Anführungszeichen verwenden, um Variablen zu erweitern:
export PATH="/home/linux/Practise/linux-devkit/bin/:$PATH"
Semikolons am Ende eines einzelnen Befehls sind ebenfalls nicht erforderlich.
Bisher:
#!/bin/sh
echo "Perform Operation in su mode"
export ARCH=arm
echo "Export ARCH=arm Executed"
export PATH="/home/linux/Practise/linux-devkit/bin/:$PATH"
echo "Export path done"
export CROSS_COMPILE='/home/linux/Practise/linux-devkit/bin/arm-arago-linux-gnueabi-'
echo "Export CROSS_COMPILE done"
...
Denn su
Sie können es ausführen mit:
su -c 'sh /path/to/script.sh'
Hinweis: Das OP hat nicht explizit nach Schritten zum Erstellen von Exportvariablen in einer interaktiven Shell mithilfe eines Shell-Skripts gefragt. Er bat nur darum, sein Drehbuch höchstens beurteilen zu lassen. Er erwähnte keine Details darüber, wie sein Skript verwendet werden würde. Es könnte mit .
oder source
von der interaktiven Shell gewesen sein. Es könnte ein eigenständiger Skript gewesen sein, oder es könnte source
aus einem anderen Skript stammen. Umgebungsvariablen sind nicht spezifisch für interaktive Shells. Diese Antwort löste sein Problem.