Пожалуйста, покажите нам больше частей скрипта и расскажите, какие команды вам нужно было выполнить индивидуально и которые вы хотите просто выполнить.
Между тем вы должны использовать двойные кавычки, а не одиночные кавычки, чтобы раскрыть переменные:
export PATH="/home/linux/Practise/linux-devkit/bin/:$PATH"
Точки с запятой в конце одной команды также не нужны.
Слишком далеко:
#!/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"
...
Ибо su
вы можете запустить его с помощью:
su -c 'sh /path/to/script.sh'
Примечание. OP явно не запрашивал шаги по созданию переменных экспорта в интерактивной оболочке с помощью сценария оболочки. Он только попросил, чтобы его сценарий был оценен по максимуму. Он не упомянул подробностей о том, как будет использоваться его сценарий. Это могло быть с помощью интерактивной оболочки .
или source
из нее . Это мог быть отдельный скрипт, или он мог быть взят source
из другого скрипта. Переменные среды не относятся к интерактивным оболочкам. Этот ответ решил его проблему.