Ubuntu에서 다음과 같이 애플리케이션 바로가기를 만들었습니다.
[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=bash -c 'echo $PATH;$SHELL'
Icon=/home/mani/Desktop/omnetpp-5.0/ide/icon.png
Terminal=true
Name=Sample Application
Categories=Development;Application
sampleApp.desktop
이름으로 저장했어요 . 바로가기를 두 번 클릭하면 다음이 표시됩니다.
그러나 $PATH의 실제 값은 다음과 같습니다.
내 생각엔 바로가기를 두 번 클릭하면 비대화형 셸에서 응용 프로그램이 실행되고 .bashrc의 내용이 구문 분석되지 않을 것 같습니다. 데스크탑 바로가기를 사용하여 전체 $PATH를 인쇄하는 방법은 무엇입니까?
답변1
( ) 대화형 셸을 원한다고 말하면 -i
셸 기본 설정을 표현하는 추가 파일을 로드합니다. 그래서:
bash -i -c 'echo $PATH; $SHELL -i'
또한 .bashrc 또는 .bash_profile의 경로를 조건부로 에코하고 환경을 사용하여 경로를 트리거할 수도 있습니다. 예:
if [ "" != "$echopath" ]; then
echo $PATH
fi
그러면 쉘은 다음과 같을 수 있습니다.
env echopath=1 bash -i