スクリプトのより多くの部分を示し、個別に実行する必要があり、単純にしたいコマンドを教えてください。
一方、変数を展開するには、一重引用符ではなく二重引用符を使用する必要があります。
export PATH="/home/linux/Practise/linux-devkit/bin/:$PATH"
1つのコマンドの最後にあるセミコロンも不要です。
これまでのところ:
#!/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
、インタラクティブシェルから取得した可能性があります。スタンドアロンのsciptである場合もあればsource
、別のスクリプトから取得された場合もあります。環境変数は、インタラクティブシェルに固有のものではありません。この答えは彼の問題を解決しました。