linux – cp:找不到命令

我试图将一个文件复制到其他目录,并在调用中断时收到错误消息.

剧本 :

#!/bin/bash


PATH=~/MkFile/

exitfn () {
    trap SIGINT              # Resore signal handling for SIGINT
        echo ; echo 'Called ctrl + c '    # Growl at user,cp ./BKP/temp.txt $PATH/backup.txt
            exit                     #   then exit script.
}

trap "exitfn" INT            # Set up SIGINT trap to call function.ii



    read -p "What? "

    echo "You said: $REPLY"
# reset all traps## 


    trap - 0 SIGINT

输出

./signal.sh
What? ^C
Called ctrl + c
./signal.sh: line 9: cp: command not found

你知道这个剧本有什么问题吗?

最佳答案
修改了PATH变量,这就是原因.也许您只想添加另一条路径:

PATH=$PATH:~/MkFile/

或者如果在Bash中,只需使用append运算符:

PATH+=:~/MkFile/

想想看,我认为你其实并不想使用PATH变量.只需使用其他参数名称

DIR=~/MkFile/

有些人会建议只使用小写字母以避免与内置shell变量发生冲突:

path=~/MkFile/

从手册:

06004

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...