無法使用 open -a 從終端機開啟 cocoa emacs

無法使用 open -a 從終端機開啟 cocoa emacs

我從這個網站在運行 Mac OS X 10.6.5 的 MacBook Air 上安裝了 emacshttp://emacsformacosx.com/。我相信這就是過去所說的 cocoa emacs。我將它拖到我的應用程式資料夾中,當我從那裡運行它時它工作正常。我希望能夠從終端運行它。經過一番谷歌搜尋後,我嘗試了open -a /Application/Emacs.app foo.txt(foo.txt 是現有文件)。我有兩個 emacs 視窗 - 一個帶有歡迎畫面,另一個加載了 foo.txt。我在 /Applications 目錄中嘗試了一些應用程序,但它們的行為似乎並非如此。我使用自己的帳戶(管理員帳戶)安裝了它,因此在執行ls -l此操作後/Application,我注意到所有者和群組與此資料夾中的其他條目不同。我像其他人一樣遞歸地將所有者和群組更改為root和wheel,但這沒有幫助。現在看起來唯一有趣的是 ls -l 顯示一個 @ 字符,該字符與擴展屬性有關,但我不知道如何檢查這些。

關於下一步要檢查什麼有什麼建議嗎?

運行程式只能使用 open 指令嗎?我可以使用 shell 腳本模擬它的功能嗎?

答案1

你誤解了它open的工作原理:你的命令open /Application/Emacs.app foo.txt告訴你open打開兩個文件,即Emacs和txt文件,但這是兩個不同的操作:首先,emacs將啟動,然後foo.txt將加載.txt文件的默認程序,即顯然Emacs適合你的情況。

只要 Emacs 是此文件類型的預設設置,只需使用open foo.txt即可在 Emacs 中打開該文件,但如果它不是默認設置,則必須使用open foo.txt -a /Applications/Emacs.app-a開關告訴打開要使用的應用程式)或者也許您可以將其交給over 作為參數,附有--args以下選項:open /Applications/Emacs.app --args foo.txt

答案2

這其實有點奇怪;對於我的安裝(我使用自製程式完成),open -a Emacs file.txt 工作正常......也許你應該重建你的 LaunchServices 資料庫?但無論如何,您應該能夠直接調用可執行文件

/Applications/Emacs.app/Contents/MacOS/Emacs file.txt

相關內容