cp
如果我没有指定目的地,我可以修改以便将其复制到当前目录吗?
我希望此命令$ cp ../launcher.sh .
等效于$ cp ../launcher.sh
。这种修改可以吗?
编辑
这是我迄今为止最好的尝试。当我调用函数时,cp
它不起作用...
function cp() {
if [ "$#" -ne 1 ]; then
cp $1 $2
else
cp $1 .
fi
}
答案1
你需要类似这样的东西:-
CP() { [ $# == 1 ] && cp "$@" . || cp "$@"; }
alias cp=CP
~/.bashrc
如果您想要半永久性的改变,可以添加这些。
请注意,别名在脚本中不起作用:如果您需要进行可在脚本中起作用的更改,则在验证真实位置后,您可以在列表的开头cp
使用私有目录,并在其中创建一个可执行脚本,其中包含:-$HOME/bin
$PATH
cp
/bin/bash
[ $# == 1 ] && /bin/cp "$@" . || /bin/cp "$@"
您需要export PATH=$HOME/bin:$PATH
添加~/.bashrc
还要注意,第一个文件之前的任何选项都会使单个参数的测试无效。您需要扫描函数中的参数以检查不以 开头的参数-
,在 处停止测试--
,然后确保只剩下一个参数。