2011-09-16 43 views
-1

是否有類似於$ 1的東西,但收集來自終端輸入的所有輸入,包括空白字符?這將用於收集可能有空格的粘貼目錄路徑 - 我需要整個字符串。

提前致謝

謝天謝地,我收到了我的第一個問題的答案。然而,在執行過程中,我無法讓它工作。這是我的代碼。任何人都可以解釋我做錯了什麼?謝謝。

alias finder='cd $* && open .' 

它返回分段返回 - 每次它到達一個空間時,它將它視爲一個單獨的條目。

回答

0

通常您只需將第一個參數稱爲"$1",包括引號。如果你想使用目錄名作爲參數,並且名稱中有空格,您最好引用它的命令行:

alias finder='cd "$1" && open .' 

... 

finder "/some/dir/with spaces/in its name" 

這也與標籤完成效果很好,它逃脫了空白您。在這種情況下,您可能不妨直接使用open命令。

但是,如果您希望finder別名將多個參數連接成一個由空格分隔的單個字符串,那實際上會變得更加困難。我嘗試了一些使用$*[email protected]的可能性,但它們無法正常工作。爲了測試,我使用我自己的命令echol,它將每個參數打印在一行中。

$ echol foo bar 
foo 
bar 
$ alias e='echol "$*"' 
$ e foo bar 

foo 
bar 
$ alias e='eval echo \""$*"\"' 
$ e foo bar 
foo bar 

最後一個是我最近來的,但它增加了一個額外的領先空間。

我認爲你最好引用目錄名稱。

+0

那就是我要做的。感謝您的回覆。 – i4n

相關問題