当前脚本运行正常,但输出稍有问题。这就是我到目前为止所拥有的。
echo "Which client are we backing up today? Choose one below."
ls -la /usr/local/nagios/etc/objects/Clients | awk '{print $9}'
read varname
cd /usr/local/nagios/etc/objects/Clients/$varname
while true; do
read -p "Backup files located in nagtech/backup to current client directory? (y/n) " yn
case $yn in
[Yy]* ) cp -r /home/nagtech/backup $varname > mkdir$(date +m%-%d-%y); break;;
[Nn]* ) exit;;
* ) echo "Please anwser yes or no.";;
esac
done我的意图是创建一个新目录,并在输入为y的情况下使用当前日期戳命名。下面是输入"y“并将$varname设置为"HELP”时的示例输出。
drwxr-xr-x 4 root root 4096 Aug 24 17:45 .
drwxr-xr-x 16 root root 4096 Aug 22 18:36 ..
drwxr-xr-x 2 root root 4096 Aug 22 18:38 08.22.18
-rw-r--r-- 1 root root 0 Aug 24 17:45 mkdirm%d-18
drwxr-xr-x 3 root root 4096 Aug 24 17:45 HELP发布于 2018-08-25 09:07:22
cp的目标是命令的第二个参数。您使用日期作为文件的名称来重定向输出,但是cp不会生成任何输出。
您需要执行mkdir命令来创建目录,然后将其用作cp命令的目标。
[Yy]* ) newdir=$(date +m%-%d-%y)
mkdir "$newdir"
cp -r /home/nagtech/backup "$newdir"
;;https://stackoverflow.com/questions/52013195
复制相似问题