2012-10-13 37 views
1

我試圖創建一個重定向操作符即>,<,>>,也爲後臺進程符號&一個別名,使用別名爲Linux重定向操作

alias g=">" 

但是當我使用cat filename.txt g test.txt,它只是打印文件名到標準輸出並在結束處顯示

cat: r: No such file or directory 
cat: test1.c: No such file or directory 

我正在使用bash shell。

回答

2

bash的手冊says on the subject of aliases

別名允許一個字符串被取代爲單詞時,它被用作一個簡單的命令的第一個字。

您正試圖在命令中間使用它,這是行不通的。但是,以下做,由於別名是右在命令的開頭:

alias lt='<' 
lt example.txt cat 
+0

但如何我可以用它來管例如輸出。 txt到一些其他文件。 – droidlabour

+2

@Jay Prakash Sarma:別名仍然是第一件事情。所以,例如,如果你想重定向stdout,你可以這樣做:'alias gt ='>''然後'gt output.txt cat input.txt'。 –

1

可以具有重定向的eval沿着使用..如下所示..

GT =「>」

EVAL CAL「$ GT」文件名

爲$ GT是CAL執行之前,這樣你就不會得到這個錯誤提交這將工作..