1
我有一個終端shell腳本文件start.command
,我從取景器啓動與:是否可以執行相對於終端shell腳本的命令?
ls -l
該文件是~/foo
但名單~
,我可以得到它包含目錄的路徑。我想在用戶運行.command
時啓動與文件位於同一文件夾中的應用程序,但似乎需要該文件的絕對路徑才能工作。
我有一個終端shell腳本文件start.command
,我從取景器啓動與:是否可以執行相對於終端shell腳本的命令?
ls -l
該文件是~/foo
但名單~
,我可以得到它包含目錄的路徑。我想在用戶運行.command
時啓動與文件位於同一文件夾中的應用程序,但似乎需要該文件的絕對路徑才能工作。
假設bash,在運行ls
之前,您需要將cd
添加到腳本的封閉目錄中。
你可以用這個單行它:
cd "$(dirname "$0")"
$0
是無論你在命令行上用來調用它的腳本的相對路徑,即。 dirname
從路徑中剝離文件名。
$()
是一個值擴展到cd
,並且引號都是必要的,以處理路徑中的空格。
太棒了!感謝這個提示! – jsherk 2012-07-23 03:48:00