Pokaż nam więcej części skryptu i powiedz nam, jakie polecenia musiałeś wykonać indywidualnie i chcesz po prostu.
W międzyczasie, aby rozwinąć zmienne, musisz używać podwójnych cudzysłowów, a nie pojedynczego cudzysłowu:
export PATH="/home/linux/Practise/linux-devkit/bin/:$PATH"
Niepotrzebne są również średniki na końcu pojedynczego polecenia.
Jak dotąd:
#!/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"
...
Ponieważ sumożesz go uruchomić za pomocą:
su -c 'sh /path/to/script.sh'
Uwaga: OP nie prosił wprost o kroki, jak utworzyć zmienne eksportu w interaktywnej powłoce przy użyciu skryptu powłoki. Poprosił tylko o co najwyżej ocenę scenariusza. Nie wspomniał o szczegółach dotyczących wykorzystania jego scenariusza. Mogło to być za pomocą .lub sourcez poziomu powłoki interaktywnej. Mógł to być samodzielny skrypt lub mógł pochodzić sourcez innego skryptu. Zmienne środowiskowe nie są specyficzne dla powłok interaktywnych. Ta odpowiedź rozwiązała jego problem.