我正在尝试为重命名文件夹的命令创建一个别名,然后对其进行tar-zips:
alias txz='of=$1; nf=$of$(date -I); mv $of $nf; tar cJvf $nf.txz $nf --remove-files'
用
打电话txz test_folder
我收到错误
mv: missing destination file operand after ‘2014-05-14’
Try 'mv --help' for more information.
tar: 2014-05-14: Cannot stat: No such file or directory
test_folder/
test_folder/1
test_folder/2
tar: Exiting with failure status due to previous errors
由于多个命令。如果只有一个命令(无;
),则$1
可以正常工作。
有什么办法可以解决吗?
ps:这是创建测试文件夹的命令:
mkdir test_folder; touch test_folder/1 test_folder/2
答案 0 :(得分:3)
最好使它成为这样的函数,因为别名不支持$1, $2
等位置参数:
txz() {
of="$1"
nf="$of"$(date -I)
mv "$of" "$nf"
tar cJvf "$nf.txz" "$nf" --remove-files
}
或排成一行:
txz() { of="$1"; nf="$of"$(date -I); mv "$of" "$nf"; tar cJvf "$nf.txz" "$nf" --remove-files; }