为什么“open”命令在主目录下运行?

时间:2013-08-22 22:13:46

标签: macos bash

在Mac OSX(Mountain Lion)下,我有一个shell脚本“a”:

#!/bin/bash
open -a Terminal b

使用终端运行另一个shell脚本“b”:

echo `pwd`

有趣的是,无论我的运行脚本位于何处,“b”中的pwd命令始终返回主目录。

问题:

  1. 为什么会这样?
  2. 如何将运行环境设置为工作代替主目录(即,在到达pwd时返回工作目录)

2 个答案:

答案 0 :(得分:1)

我是一名ubuntu Linux用户,但我很确定cli与两者非常相似。无论如何,我相信当你打开一个新的终端窗口时,默认目录是你的主目录。除非您在设置中更改它。这是“b”打印主目录时pwd命令的可能原因。

答案 1 :(得分:1)

这可能适用于b

echo $( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )