我不太確定從哪裏開始尋找這個問題的答案。如何打包通過GitHub分發的shell腳本?
(我使用的是Mac)。
反正,我已經運行一些Ruby的東西的命令行工具。基本上,我添加了一個可執行文件到我的用戶目錄中的一個文件夾,添加了允許它在終端中運行的權限。然後,我將可執行文件的路徑添加到我的$PATH
變量中。這一切對我來說都很好。我可以像這樣從我的shell中運行它:
$ ngi controller
我上傳的項目,GitHub上,我也已經給用戶說明下載和使用它以同樣的方式我這樣做,但下載的指令是很令人費解(這是我能想出的最好):
~ $ mkdir .angular_init
~ $ cd .angular_init
~/.angular_init $ git clone https://github.com/joshbeam/angular_init.git
~/.angular_init $ cd angular_init/bin
~/.angular_init/angular_init/bin $ chmod 755 ngi
~/.angular_init/angular_init/bin $ export PATH=$PATH:~/.angular_init/angular_init/bin
顯然,對於像rvm
和npm
工具,你只要下載奇蹟般地他們,然後他們只是工作。 那麼,如何將我的shell腳本打包爲「可下載」,並將用戶保存在6個shell行的(困惑)工作中呢?
(如果有幫助的話,這裏是link to the repo)。
太棒了,謝謝。然而,有幾個問題:首先,我運行git ls-tree HEAD - bin/ngi,第一行的第一部分表示「100755」。我認爲這意味着它有正確的755權限? – 2015-03-30 23:08:36
第二個問題:如果沒有首先設置PATH,用戶不能運行'ngi'(工具),那麼如果用戶甚至不能訪問它,如何設置'ngi'中的PATH變量? ('ngi'是運行Ruby代碼的可執行文件) – 2015-03-30 23:09:27
是的,這意味着回購中的權限爲755。比較另一個文件,你會看到它改爲'100644'。我沒有在'ngi'腳本里面設置'PATH'。我說過,方向應該指示用戶在他們現有的(或者新創建的,如果需要的話)shell啓動文件中進行'PATH'修改,以便將來持續使用。而不是在當前shell會話中設置'PATH',而不是在其他任何其他會話中使用'PATH'。 – 2015-03-30 23:25:11