0

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

#!/bin/bash
open -a Terminal b

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

echo `pwd`

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

问题:

  1. 为什么会这样?
  2. 如何将运行环境设置为工作而不是主目录(即到达时返回工作目录pwd
4

2 回答 2

1

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

于 2013-08-22T22:24:52.950 回答
1

这可能适用于b

echo $( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
于 2013-08-22T22:25:19.887 回答