我对 Linux 中的脚本还很陌生。我想获得一个简单的脚本,它可以根据文件的确切名称查找文件,然后将该文件复制到另一个文件夹。
因此本质上它应该像“./findandcopy [filename]”一样工作这是我目前得到的:
#!/bin/sh
ARGS=1
E_BADARGS=65
E_NOFILE=66
if [ $# -ne "$ARGS" ] # Correct number of arguments not passed
then
echo "Usage: `basename $0` filename"
exit $E_BADARGS
fi
'find ./ -name \$1' -exec cp {} /home/marc/ \;
但那对我不起作用。非常感谢任何帮助。
答案1
你应该使用:
find ./ -name "$1" -exec cp {} /home/marc/ \;
不加单引号。否则,shell 会将整个find ./ -name \$1
命令视为单个文件名并尝试执行该文件名。
您应该引用该参数"$1"
以防止文件名中的空格或符号扩展。