我在 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 的实际值是这样的:
我的猜测是,双击快捷方式,在非交互式 shell 中运行应用程序,并且 .bashrc 的内容将不会被解析。如何使用桌面快捷方式打印完整的 $PATH?
答案1
您只需说您想要一个 ( -i
) 交互式 shell,它就会加载表达您的 shell 首选项的额外文件。所以:
bash -i -c 'echo $PATH; $SHELL -i'
您还可以有条件地回显 .bashrc 或 .bash_profile 中的路径,并使用环境来触发该路径,例如:
if [ "" != "$echopath" ]; then
echo $PATH
fi
那么你的 shell 可能是:
env echopath=1 bash -i