2012-10-13 49 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执行之前,这样你就不会得到这个错误提交这将工作..