如标题所述,如果路径是相对的或绝对的,我需要确定程序何时运行:
./program #relative
dir/dir2/program #relative
~User/dir/dir2/program #absolute
/home/User/dir/dir2/program #absolute
这是我的测试用例。我怎样才能在shell程序中这样做呢?
或者更一般地说,如何在这种情况下检查路径$0
是相对的还是绝对的?
答案 0 :(得分:21)
if [[ "$0" = /* ]]
then
: # Absolute path
else
: # Relative path
fi
答案 1 :(得分:11)
任何DEALER
的一般解决方案,而不仅仅是$path
$0
答案 2 :(得分:5)
case "$directory" in
/*)
echo "absolute"
;;
*)
echo "relative"
;;
esac
答案 3 :(得分:-2)
if [ ${path:0:1} == / ]
then
echo Absolute path
else
echo Non-absolute path
fi