Lütfen bize komut dosyasının daha fazla bölümünü gösterin ve bize hangi komutları tek tek yürütmeniz gerektiğini ve basitçe yapmak istediğinizi söyleyin.
Bu arada, değişkenleri genişletmek için tek tırnak yerine çift tırnak kullanmanız gerekir:
export PATH="/home/linux/Practise/linux-devkit/bin/:$PATH"
Tek bir komutun sonundaki noktalı virgül de gereksizdir.
Şimdiye kadar:
#!/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"
...
Şunlarla suçalıştırabilirsiniz:
su -c 'sh /path/to/script.sh'
Not: OP, bir kabuk komut dosyası kullanarak etkileşimli bir kabukta dışa aktarma değişkenlerinin nasıl oluşturulacağına ilişkin adımları açıkça sormuyordu. Sadece senaryosunun en fazla değerlendirilmesini istedi. Senaryonun nasıl kullanılacağına dair ayrıntılardan bahsetmedi. Etkileşimli kabuk kullanarak .veya kullanarak olabilirdi source. Bağımsız sourcebir komut dosyası olabilir veya başka bir komut dosyasından alınmış olabilir . Ortam değişkenleri, etkileşimli mermilere özel değildir. Bu cevap problemini çözdü.