【问题标题】:why the "open" command runs under the home directory?为什么“打开”命令在主目录下运行?
【发布时间】:2013-08-23 06:53:44
【问题描述】:

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

#!/bin/bash
open -a Terminal b

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

echo `pwd`

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

问题:

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

【问题讨论】:

标签: macos bash


【解决方案1】:

这可能适用于b

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多