iT邦幫忙

0

~/.bashrc 設置別名命令 Alias 是否能帶參數進去?

nano ~/.bashrc

我用這個製造Alias

例如

alias testserver='php /Applications/apache/testserver.php'

這樣就會執行那個php檔案
但假設我想帶一個參數給php呢?
就是假設只要在終端機打上「testserver abc」
這樣我可以把abc參數帶到 testserver.php ,而且可以被php抓到該參數?這是有可能實現的嗎

froce iT邦大師 6 級 ‧ 2018-04-04 11:03:45 檢舉
https://stackoverflow.com/questions/7131670/make-a-bash-alias-that-takes-a-parameter

2 個回答

0
bizpro
iT邦大師 1 級 ‧ 2018-04-04 16:35:36
最佳解答

應該直接用一個function, 或在alias中包裝一個function:

alias testserver='callthis(){ php /Applications/apache/testserver.php "$@"; }; callthis;'

請用全路徑php.

小松菜奈 iT邦研究生 4 級 ‧ 2018-04-05 00:41:15 檢舉

testserver.php 裡面是要怎麼表達?不太懂

0
wiseguy
iT邦超人 1 級 ‧ 2018-04-09 15:19:46

可以直接設 alias。如你設的
alias testserver='php /Applications/apache/testserver.php'
執行 testserver abc 時,參數會放在 $_SERVER['argv'] 這個陣列裡,
所以 $_SERVER['argv'][1] 就是 'abc'。

PS. $_SERVER['argv'][0] 是 '/Applications/apache/testserver.php'。

我要發表回答

立即登入回答