스크립트의 더 많은 부분을 보여 주시고 개별적으로 실행해야하는 명령과 간단하게 원하는 명령을 알려주십시오.
한편 변수를 확장하려면 작은 따옴표가 아닌 큰 따옴표를 사용해야합니다.
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
. 독립형 scipt 일 수도 있고 source
다른 스크립트에서 가져온 것일 수도 있습니다 . 환경 변수는 대화 형 셸에만 국한되지 않습니다. 이 대답은 그의 문제를 해결했습니다.