分类:
2008-10-29 20:43:03
在看到:
#cd /tmp/
#tar -cvf a /tmp/a.tar
会报错说没这个v/tmp/a.tar的文件
执行上面的操作之后,发现/tmp下面没有这个a文件了
这是使用tar比较常见的一个错误操作。以前我也曾犯过。颜渊不二过,想了个办法,以实际行动学习下颜渊:在/etc/profile里放个alias就可以了——alias tar='mwt(){ [ -e $3 ] && /usr/bin/tar $1 $2 $3 || echo Can not find or access \"$3\"!; }; mwt '。
实验效果:
$ alias tar='mwt(){ [ -e $3 ] && /usr/bin/tar $1 $2 $3 || echo Can not find or access \"$3\"!; }; mwt'
$ tar -cvf a /tmp/a.tar
Can not find or access "/tmp/a.tar"!
$ tar -cvf a
ksh: test: 0403-004 Specify a parameter with this command.
Can not find or access ""!
$
========================================================================
任何形式的转载,请写明出处:
email:
blog: http://www.cublog.cn/u/739/
========================================================================
chinaunix网友2009-03-13 13:15:50
今天才发现,那个alias写得有问题,当初只关注了c的情况,没有考虑周全t、x的情况。多亏了老高的提醒: http://www.loveunix.net/thread-97153-1-1.html 正确的写法如下: alias tar='mwt(){ echo $1 | grep -q c && [ ! -e $3 ] && echo Can not find or access \"$3\"! || /usr/bin/tar $1 $2 $3 ; }; mwt'