我想将文件从 复制/home/e_empid/file1
到/home/e_empid /dir1/dir2/dir3/Backupfile1
。用户不想每次都写很长的命令。编写一个命令来为上述操作设置别名?
我尝试了下面的代码
alias a= 'cd ~/e_empid/'
alias b= 'cd ~/e_empoid/dir1/dir2/dir3/'
我想复制file1
到backupfile1
.创建别名后该如何操作?
答案1
将别名更改为变量,如下所示,无需cd
命令,并且符号后不带空格=
,然后删除最后一个,/
因为别名在命令内不起作用cp
,或者您可以使用函数代替;正如@jherran 的回答,它的功能更加灵活。
sorc=~/e_empid
dest=~/e_empoid/dir1/dir2/dir3/Backupfile1
然后使用它,例如:
cp $sorc/file1 $dest/
如果运行上面的命令,文件将从目录file1
复制到目录。~/e_empid
~/e_empoid/dir1/dir2/dir3/Backupfile1
您可以将它们添加到文件末尾.bashrc
以供下次使用:
echo 'sorc=~/e_empid' >> .bashrc
echo 'dest=~/e_empoid/dir1/dir2/dir3/Backupfile1' >> .bashrc
并使用cp $sorc/Any_File_inside_it $dest/
.
答案2
如果您使用的是 bash,则可以创建一个函数而不是别名。
bcopy () {
cd ~/e_empid/
cp file1 /home/e_empid/dir1/dir2/dir3/Backupfile1
cd ~/e_empoid/dir1/dir2/dir3/
}
然后你只需要使用 来调用bcopy
。
如果您的文件每次都不具有相同的名称,您还可以使用$1
and$2
代替file1
and 。Backupfile1
cp $1 /home/e_empid/dir1/dir2/dir3/$2
在这种情况下,您需要使用 来调用bcopy orig-file dest-file
。