[英]how do i assigne out put of command as variable
嗨,我是脚本新手。 请为我指出错误的方式道歉。
我正在尝试开发一个脚本,该脚本采用给定路径的备份。 下面是我的脚本。 我面临的问题是我试图将变量“ s”分配给命令“ mkdir”,但它不起作用。 请帮助我,我该如何纠正这种语法?
#!/bin/bash
# to back up the given folder "
i="`date | awk '{ print $1$2$4}'`"
echo " please enter the full path of folder you want to back up"
read foldern
echo " $foldern is of `du -sh $foldern`. Do you want to back up this folder"
echo "yes / no"
read ans
if [ $ans = yes ]
then
echo " enter the back up folder name"
read bpn
s=$(mkdir $bpn$i) # here I am trying to assign a variable "s" for out put of mkdir but dosent work Please help me #
echo $s
cp -R "$foldern" "$s"
else
echo "no back up is taken"
fi
mkdir
不会创建输出或打印其创建的目录。 手动创建字符串:
s=$bpn$i
mkdir -- "$s"
echo "$s"
--
是可选的选项-参数分隔符,因此,以-
开头的文件不会被误解为mkdir
的错误选项。
如果您不希望mkdir
在目录已存在的情况下显示错误,则添加-p
也可能会有所帮助。
mkdir -p -- "$s"
建议:
#!/bin/bash
# To back up the given folder.
date=$(date | awk '{ print $1$2$4}') ## Consider date=$(date '+%F-%T')
read -p "Please enter the full path of folder you want to back up: " folder_name
size=$(du -sh "$folder_name")
read -p "$folder_name is of $size. Do you want to back up this folder (Yes/No)? "
if [[ $ans == [yY][eE][sS] ]]; then
read -p "Enter the back up folder name: " backup_name
backup_name+=$date
echo "$backup_name"
mkdir -p "$backup_name" && cp -R "$folder_name" "$backup_name"
else
echo "No back up is taken."
fi
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.