所以我正在学习一些bash,而我正在试图弄清楚如何从脚本运行目录。因为我有我的脚本~/scripts/bash/myscript
,如果我执行我的scipt,如:
user@localhost ~/dir/I/need/to/run/the/script/from $ ~/scripts/bash/myscript
从我的脚本中,如何获取正在执行的目录,以便在这种情况下获得~/dir/I/need/to/run/the/script/from
。快捷方式如:
DIR=`pwd`
DIR="$(cd "$(dirname "$0")" && pwd)"
DIR=`dirname $0`
据我所知,他们都将脚本的路径分配给DIR
,但我正在寻找脚本运行的路径。
对此有何帮助?
谢谢! :)
答案 0 :(得分:11)
$PWD
变量可能就是您所需要的。
$ cat >/tmp/pwd.bash <<'END'
#!/bin/bash
echo "\$0=$0"
echo "\$PWD=$PWD"
END
$ chmod u+x /tmp/pwd.bash
$ pwd
/home/jackman
$ /tmp/pwd.bash
$0=/tmp/pwd.bash
$PWD=/home/jackman