一尘不染

确定Shell程序中的相对路径还是绝对路径

linux

如标题中所述,我需要确定路径是相对路径还是绝对路径,何时运行程序:

./program #relative
dir/dir2/program #relative
~User/dir/dir2/program #absolute
/home/User/dir/dir2/program #absolute

这是我的测试用例。我到底该如何在Shell程序中执行此操作?

或更笼统地说,$0在这种情况下,如何检查路径是相对的还是绝对的?


阅读 871

收藏
2020-06-07

共1个答案

一尘不染

if [[ "$0" = /* ]]
then
   : # Absolute path
else
   : # Relative path
fi
2020-06-07