下面是我用于复制数据的 bash 脚本代码,但我在 SUBSTRING
中遇到语法错误线。我是 bash 新手,所以无法理解语法有什么问题。如有任何帮助,我们将不胜感激。
#!/bin/bash
cd /var/www/html/zong/public/HostedPBX/
for i in $(echo */); #..This loop shows number of directories in a
folder to display them.....
do
echo /var/www/html/zong/public/HostedPBX/$i
done echo"" echo "Above are the folders listed in current directory..."
sleep 2 echo"" echo "Taking Backup of above folders...."
sleep 3
for i in $(echo /var/www/html/zong/public/HostedPBX/*/ );
**SUBSTRING=$(echo $i | cut -d'/' -f 7)
# $SUBSTRING=$(echo $i cut -d'/' -f 7)** ####...this also gives syntax error
do
cp -R $i /root/HostedPBX_Backup/$SUBSTRING ##...Uncommment this line to copy files from HostePBX to HostedPBX_Backup.....
done
最佳答案
在bash
中,变量名只能包含大写、小写、数字和下划线。用字符类术语来说,那就是:
[[:alnum:]_]
此外,任何用户定义的变量名称都不能以数字开头。
在您的情况下,您的变量定义为:
**SUBSTRING=....
$SUBSTRING=....
由于前面所述的原因,这些声明是不正确的。
关于linux - 我无法解决此 bash 脚本中的语法错误(版本 4.1.2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734662/