我正在编写一个脚本,允许用户通过允许他们输入文件名来创建他们选择的文件的备份。然后,文件将进行备份,然后在其名称的末尾加盖日期并保存在主驱动器上。但每当我尝试运行它我得到一个错误:cp:'_backup_2017_12_16'后丢失目标文件操作数
这是我的代码:
title="my script 3"
prompt="Enter:"
options=("create a backup of a file")
echo "$title"
PS3="$prompt "
select opt in "${options[@]}" "Quit"; do
case "$REPLY" in
esac
cp "$filename""${file}_backup_$(date +%Y_%m_%d)"
done
case
声明目前是空的。您需要它来处理您选择的选项cp source dest
Quit
放在那里read
命令用于获取用户输入总而言之,您的脚本可能如下所示:
#!/usr/bin/env bash
options=("Backup" "Quit")
prompt="Enter: "
title="My script 3"
echo "$title"
PS3=$prompt
select opt in "${options[@]}"; do
case $opt in
"Backup")
IFS= read -r -p "Enter filename: " filename
cp -- "$filename" "${filename}_backup_$(date +%Y_%m_%d)" && echo "Backup created..."
;;
"Quit") break ;;
*) echo "Wrong option..." ;;
esac
done