題:
如何在當前工作目錄中打開一個新的終端選項卡?
sargas
2014-04-28 22:02:57 UTC
view on stackexchange narkive permalink

我想創建並運行 bash 函數,該函數:

  1. cd 到項目目錄
  2. 在終端的同一目錄中打開一個新選項卡
  3. 打開我的開發工具並啟動開發服務
  4. ol>

    項目2不能按預期工作,新選項卡不起作用不要更改目錄。

    這是腳本(兩個函數都位於我的 .bashrc 文件中:

     #打開一個新標籤頁(需要new_terminal_tab(){osascript -e“告訴應用程序\”終端\“” \ -e“告訴應用程序\”系統事件\“以使用{command down}” \ -e來擊鍵\“ t \” “在前窗口執行腳本\” cd $ 1; clear; \“” \ -e“結束告訴” > / dev / null}#設置workspaceaffiliatesForm(){#將cd放入項目目錄cd / Users / iamuser / Documents / path / to / project \文件#獲取工作目錄pwd =`pwd`#在Terminal中打開一個新選項卡,然後cd i nto項目的目錄#這個想法是在Rails服務器的輸出中有一個選項卡,在項目的目錄中有另一個選項卡new_terminal_tab $ pwd#在Sublime Text 2中打開項目subl $ pwd#啟動Rails服務器的Rails服務器}  

    我在做什麼錯?我不知道這段代碼在做什麼?


    更新

    我要訪問的目錄路徑中有空格。但是逃離空間根本沒有幫助。該腳本適用於不包含空格的路徑。

五 答案:
grg
2014-04-28 22:09:09 UTC
view on stackexchange narkive permalink

默認情況下,在終端中打開新標籤頁應保留當前目錄。如果沒有,則可能是 $ PROMPT_COMMAND 損壞了。

如果要通過添加添加自定義行為,請記住不要替換先前的值;末尾是$ PROMPT_COMMAND

  PROMPT_COMMAND =“ my_custom_function; $ PROMPT_COMMAND”  

作為參考,這是 / etc / bashrc (OS X 10.9):

 #在每個提示符下告訴終端有關工作目錄的信息。if[“ $ TERM_PROGRAM” ==“ Apple_Terminal”] && [- z“ $ INSIDE_EMACS”];然後update_terminal_cwd(){#使用“文件:”方案URL標識目錄,#包括主機名以消除本地與#遠程連接的歧義。逸出百分比空間。 local SEARCH =''local REPLACE ='%20'local PWD_URL =“ file:// $ HOSTNAME $ {PWD // $ SEARCH / $ REPLACE}” printf'\ e] 7;%s \ a'“ $ PWD_URL” } PROMPT_COMMAND =“ update_terminal_cwd; $ PROMPT_COMMAND” fi  
$ PROMPT_COMMAND沒有損壞。還有其他建議嗎?
儘管可以解釋為什麼$ PROMPT_COMMAND用於當前目錄,這可以解決我的問題。
rossarian
2016-08-25 23:50:13 UTC
view on stackexchange narkive permalink

我知道這個問題有些陳舊,但是我剛剛找到了一個答案,該答案對Mac OS X上的iTerm2用戶有用。

在iTerm2首選項的“配置文件標籤”下,您可以設置iterm在“工作目錄”標題下打開新標籤的確切位置

iterm preferences

然後,關閉並重新啟動iTerm,您應該一切順利!

這正是我想要的。坦克;)
sargas
2014-04-29 22:15:36 UTC
view on stackexchange narkive permalink

如上所述,我的腳本使用了不包含空格的路徑。事實證明,解決方案在於將變量(在 new_terminal_tab()內)包裝在單引號中,如下所示:

-e“ do script \” cd'$ 1 ';清除; \“在前窗口”“ >

Jose Llausas
2014-04-29 00:58:48 UTC
view on stackexchange narkive permalink

我使用一個名為go2shell的應用程序。這會在Finder上為您提供一個小按鈕,可在終端中打開當前目錄。

https://itunes.apple.com/es/app/go2shell/id445770608?mt=12

您還可以使用終端cd到所需的文件夾,然後使用“打開”。

Saaru Lindestøkke
2014-04-29 01:40:06 UTC
view on stackexchange narkive permalink

此處提供的服務對我有效。它將在我從中運行服務的文件夾中打開一個新的“終端”選項卡。我按以下方法解決了該問題:

 在運行{input,parameters}時,在輸入中使用this_item重複此操作,將the_path設置為this_item的POSIX路徑重複,直到the_path以“ /”結尾,然後將the_path設置為文本1至- the_path的2重複將numberOfWindows設置為“ 0”,告訴應用程序“終端”將setOfOfWindows激活為(numberOfWindows +(計數窗口)),如果numberOfWindows為0,則使用命令“ cd”執行腳本。&引用thepath的形式激活,否則激活延遲( 0.3)使用命令down告訴應用程序“系統事件”擊鍵“ t”,使用命令“ cd”告訴do腳本,在窗口0結束時用the_path引用形式的&如果結束,請告訴end重複返回inputend run  

此代碼的全部功勞歸於 Jeroen Leenarts。我只是做了一些小的調整。

那是一個有趣的腳本。但是我的想法是在終端中鍵入命令,並在終端中打開我的應用程序以及兩個選項卡,一個用於Rails Server,另一個在項目所在的目錄中。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...