Пожалуйста, покажите нам больше частей сценария и сообщите нам, какие команды вам нужно выполнить индивидуально и просто.
В то же время вы должны использовать двойные кавычки не одиночные кавычки, чтобы расширить переменные:
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-' ## What's next to -?
echo "Export CROSS_COMPILE done"
# continue your compilation commands here
...
Для su
вы можете запустить его с:
su -c 'sh /path/to/script.sh'
(Для тех, кто downvote этот ответ, вы должны знать, что ОП не был явно требует оболочки скрипт, который будет экспортировать переменные на -interactive-shell, а не на одноразовый сценарий оболочки запуска, где использование source
или .
для его вызова было бы бессмысленным, если вы на самом деле не вызываете скрипт из ano это сценарий. Конечно, вы могли бы использовать source
или .
, если это действительно необходимо, но возникла еще одна проблема, которая должна была быть исправлена, и, похоже, фактическая проблема в этом контексте заключалась в использовании одинарных кавычек.
Не уменьшайте это только потому, что это вам не поможет. Ответ был сделан на вопрос, и для ОП.
Было бы применяться, если OP -Вообще mentioned-, что это действительно для наладки экспортируемых переменных сред на интерактивных оболочках через оболочку-скрипт.)
Какие оболочек вы используете (например, bash, ksh, sh) – Tom
Возможный дубликат [Сохранить глобальные переменные BASH] (http://stackoverflow.com/questions/10779771/save-global-variables-bash) – tripleee
Возможный дубликат [Экспортировать переменную в среду из bash, не используя его] (http://stackoverflow.com/questions/16618071/export-a-variable-to-the-environment-from-a-bash-script-without-sourcing-it) –