我使用的是基于 Debian 的 Kali linux,并编写了一个脚本来将一些文件从该脚本所在的位置复制到指定目录。但是当我执行我的脚本(称为CopyFiles.sh
)时,cp
命令适用于root
,而不是当前目录。这是我的脚本:
#!/bin/bash
cp -f * /var/www/
我也尝试过./*
,但出现同样的错误,但如果我将目录更改为我的脚本(cd
命令),它就可以正常工作。我可以毫无问题地使用以下脚本,但我不想使用任何附加命令,并且想知道为什么我的脚本不起作用:
#!/bin/bash
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
cp -f "$SCRIPT_DIR/"* /var/www/
答案1
该命令复制调用者当前目录(即您的当前目录)中cp -f * /var/www/
匹配的文件。*
脚本所在位置无关紧要。