bash - 从中​​运行脚本

时间:2014-05-12 15:04:40

标签: linux macos bash shell

所以我正在学习一些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,但我正在寻找脚本运行的路径。

对此有何帮助?

谢谢! :)

1 个答案:

答案 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