구입한 상용 애플리케이션과 상호 작용하려면 특별한 셸 환경을 설정해야 합니다. 애플리케이션에서 "즉시" 환경을 쿼리할 수 있습니다.
그래서 명령이 전달된 스크립트를 사용하여 셸을 시작하려고 했습니다.
/bin/bash -c '/opt/xyq/commercialApp/bin/tool getEnv > ~/setAppEnv; . ~/setAppEnv; . ~/setMyEnv;'
이것은 작동합니다... 특별한 환경을 얻고, 얻은 다음, 나만의 환경을 얻습니다... 그러나 쉘은 종료됩니다.
종료할 때까지 두 번째 bash 쉘에 그대로 유지하려면 어떻게 해야 합니까?
답변1
이를 사용하여 시작 --rcfile
시 대안을 지정할 수 있습니다. .bashrc
이는 설정에서 사용할 수 있습니다.
/opt/xyq/commercialApp/bin/tool/getEnv > ~/setAppEnv
cat ~/setMyEnv >> ~/setAppEnv
bash --rcfile ~/setAppEnv
이것도 로드하려면 .bashrc
명령 뒤에 추가하면 됩니다 cat
. 그런 다음 함수로 바꿀 수 있습니다.
runApp()
{
/opt/xyq/commercialApp/bin/tool/getEnv > ~/setAppEnv
cat ~/setMyEnv >> ~/setAppEnv
echo '[[ -e ~/.bashrc ]] && . ~/.bashrc' >> ~/setAppEnv
bash --rcfile ~/setAppEnv
}
답변2
이건 어때? 새로운 bash를 시작하고 새로운 환경 변수를 설정합니다.
/bin/bash -c '/opt/xyq/commercialApp/bin/tool getEnv > ~/setAppEnv; . ~/setAppEnv; . ~/setMyEnv; bash'