我试图将一个文件复制到其他目录,并在调用中断时收到错误消息.
剧本 :
#!/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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。