2014-06-09 60 views
0

我想一個別名,當我在終端上鍵入使運行腳本別名

[Floodgate]~$: bash (pluginname) 

運行

[Floodgate]~$: . ~/bash\ plugins/(pluginname) 

到目前爲止一切我試圖別名已運行

[Floodgate]~$: . ~/bash\ plugins/ (pluginname) 

斜線和(插件名稱)之間的空格造成問題。 如果不必爲每個插件創建一個新的別名,但只有一個通用設備,那將是非常好的。到目前爲止,唯一可行的就是

alias bash='cd ~/bash\ plugins; .' 

但讓我在

[Floodgate]~/bash plugins/$: 

======================= ================================================== =========

謝謝你的幫助!這是非常感謝

========================================== ========================================

+1

只需將包含腳本的目錄(例如'$ HOME/scripts /')添加到'$ PATH'中(在'/.bashrc')。我建議針對文件或目錄名稱中的空格。 –

+1

命名一個別名'bash'似乎是一個壞主意......也許一個函數會是一個更好的計劃 - 就像'plug(){。 〜/ bash \ plugins/$ {1}}'但有一點錯誤檢查... – twalberg

回答

1

用如上述巴西萊Starynkevitch提到,要做到這一點最簡單的方法是:(1)確保你的〜/ bash的文件\ plugins目錄是由你的可執行文件(和它們包含有效的shell命令)。例如

chmod 0755 ~/bash\ plugins/* 

然後在你的路徑中包含〜/ bash \ plugins。在你的〜/ .bashrc包括:

export PATH=$PATH:~/bash\ plugins 

我們運行bash的插件,你可以簡單地通過名稱在命令提示符下稱他們爲:

$ pluginname 

有很多方法可以做到這一點。你甚至可以用你的.bashrc創建一個函數,該插件將插件名稱作爲輸入,然後執行插件E.g.裏面的.bashrc:

function exeplugins { 
    [[ -n $1 ]] || { echo "error: this command requires pluginname as input"; return 1; } 
    bash "~/bash plugin/${1}" 
} 

alias bplugin='exeplugins' # or any alias name you want 'bplugin' to be... 

現在從comman線,你可以簡單地做:

$ bplugin pluginname 

希望這有助於。 (+1不要做別名,命名爲'bash' - bad juju跟在後面)

0

我強烈建議不要命名別名「bash」,因爲這是打開新bash的命令,它可能會導致您遇到與其他應用程序或腳本有關的問題。否則,這應該工作:

alias openplugin="cd ~/bash\ plugins && cd"