【问题标题】:Set the default directory in mac terminal在mac终端设置默认目录
【发布时间】:2011-08-07 11:51:09
【问题描述】:

我只对 git 使用终端(mac),我只对一个目录使用 git。是否可以将默认目录(打开终端时的目录)设置为我使用git的目录,如果可以,如何设置?

【问题讨论】:

    标签: command-line terminal


    【解决方案1】:

    如果您修改 .zshrc 文件,“文件夹中的新终端”服务快捷方式将无法在 Mac 上运行。我不推荐。

    【讨论】:

      【解决方案2】:

      我修改了@Michael Ozeryansky 的答案以解决他提到的警告:

      唯一需要注意的是,如果您在实际的 HOME 目录中并打开一个新窗口,它将带您进入 START。这是预期的。

      要使您的第二个终端窗口选项卡从 Home 或任何其他目录开始:

      export START="/Users/michael/my/starting/directory"
      export DIR = "path/to/directory"
      if [[ $PWD == $HOME ]]; then
           cd $START
      else 
           cd $HOME  // or any other dir: cd $DIR
      fi
      

      【讨论】:

        【解决方案3】:

        使用窗口组。按照您希望它们在启动时的方式排列您的外壳窗口 - cd 到您想要的每个目录,设置颜色,外壳 - 编辑标题等。然后转到窗口 - “将 Windows 保存为组。 ……”。给它一个名字,选中“终端启动时使用窗口组”。下次您开始时,此安排将是您的起点。

        【讨论】:

          【解决方案4】:

          如果您使用例如 ZSH, 只需将此字符串添加到您的配置文件.zshrc

          # Working directory
          cd ~/Desktop
          

          例如:

          # Working directory
          cd $HOME/Desktop
          

          根据您的喜好更改路径

          它只是将命令返回给 ZSH,你不会在终端中看到它,它会从你选择的 path 开始。

          【讨论】:

            【解决方案5】:

            我喜欢“打开新窗口:相同的工作目录”。我为这个问题找到的所有答案(许多 SO)都会通过总是转到新的主目录来打破该设置。下面是我在 .profile(或 .bashrc 等)顶部使用的内容。

            export START="/Users/michael/my/starting/directory"
            if [[ $PWD == $HOME ]]; then
                cd $START
            fi
            

            这将仅在启动时查看您是否在 HOME 目录中,如果是,请切换到新的 START 目录。这样新窗口就不会自动运行这个命令了。

            唯一需要注意的是,如果您在实际的 HOME 目录中并打开一个新窗口,它将带您到 START。这是预期的。

            【讨论】:

            • 经过长时间搜索找到的最佳解决方案。
            • 在我的 .bash_profile 上工作,而不是在 .bashrc.profile 上工作。
            • 谢谢!最佳解决方案
            • 但它会保留新标签页上的最后一个工作文件夹吗?
            • @Volatil3 试试看。是的。
            【解决方案6】:

            试试echo "cd $directory" >> ~/.bash_profile

            【讨论】:

            • 我不得不使用:echo "cd "`pwd` >> ~/.bash_profile
            【解决方案7】:

            从 Mac OS X Lion 10.7 开始,终端支持恢复,默认情况下会在您退出时自动恢复您打开的终端,恢复它们的工作目录。因此,您可以打开一个新终端并 cd 到您的 git 目录,然后在退出时保持窗口打开。每次重新打开终端时,终端都会在同一目录中。 (默认情况下,这适用于 bash。如果您使用的是其他 shell,则需要将 /etc/bashrc 中的代码改编为您的 shell。我在 SuperUser 上对 Resume Zsh-Terminal (OS X Lion) 的回答中发布了 zsh 的代码.)

            您还可以安排终端在特定目录中启动 shell。您可以自定义或创建“设置配置文件”以在启动时发出“cd”命令:

            终端 > 首选项 > 设置 > [配置文件] > Shell > 启动 > 运行命令

            启用“运行命令”和“在 shell 内运行”,然后将命令设置为 cd your_git_directory。当您使用该配置文件打开一个新终端时,它将转到您的 git 目录。

            我建议您使用配置文件列表底部的操作(“齿轮”)菜单复制当前的默认配置文件(如果您从未更改过,默认为“基本”),然后自定义该配置文件。

            最后,要让它在您打开终端时自动打开带有此配置文件的终端,请设置

            终端 > 首选项 > 启动 > 在启动时,打开

            到您的自定义配置文件。 (在 Lion 上,Resume 将恢复您退出时打开的窗口,而不是执行启动操作。正如我所提到的,您可以在退出时保持此终端打开,再次打开终端时它将恢复。或者,您可以在退出时按Option修饰键;退出菜单项将变为“退出并丢弃窗口”,下次打开终端时将执行启动操作。)

            【讨论】:

            • 非常有用,谢谢!我已经为终端配置了每个 Xcode 项目和 git 子模块目录、标题和颜色的启动选项卡。每个都以 git fetch 和 git status 启动。甜!
            • 如果您使用“Shell open with”“默认登录 shell”之外的其他内容(例如 apple.stackexchange.com/questions/41743/… 需要更快的启动),“运行命令”方式似乎不起作用... [ ?] 无论如何 iterm2 似乎允许所需的行为,回到它
            • @rogerdpack 如果您将 Shells open with:Run command: 设置为终端在 /etc/shells 中找不到的命令假定它不是 shell 并禁用“最后登录”横幅和 在 shell 内运行等行为。这是解决方法有效的唯一原因。您最好避免这种解决方法并定期清除系统日志,特别是如果您首先检查日志大小 - 如果它不是太大,解决方法没有问题。 (请考虑向 Apple 提交有关登录性能的错误报告。)
            • 我建议将其 cd 放入您想要的目录,然后使用 clear 命令跟进,以使提示看起来新鲜。在启动时运行此命令:“cd && clear”
            猜你喜欢
            • 2018-10-27
            • 2017-04-20
            • 2019-02-05
            • 2013-08-05
            • 2019-05-31
            • 1970-01-01
            • 2012-12-07
            • 2017-04-20
            • 1970-01-01
            相关资源
            最近更新 更多