【发布时间】:2012-07-09 08:51:30
【问题描述】:
如标题所述,如果路径是相对路径还是绝对路径,我需要确定何时运行程序:
./program #relative
dir/dir2/program #relative
~User/dir/dir2/program #absolute
/home/User/dir/dir2/program #absolute
这是我的测试用例。我怎么能在 shell 程序中做这件事呢?
或者更一般地说,如何检查路径,在这种情况下是$0,是相对的还是绝对的?
【问题讨论】:
-
shell会在运行脚本之前解析
~,所以你只需要检查前导/ -
@user123444555621 - 仅当它按原样提供时。在 echo "~User" 的情况下,它不会。更新:抱歉,我检查了最初的问题,它是关于“${0}”的,所以波浪号不是这种情况。
-
@loshadvtapkah 如果你引用这个表达式,那么它的意思是 字面意思 目录
./~User中的相对路径——如果这不是你的意思,那么引用完全是一个红鲱鱼。