BASH-Linux:语法错误«»;
我有一个语法错误«;;»BASH-Linux:语法错误«»;,linux,bash,shell,syntax,Linux,Bash,Shell,Syntax,我有一个语法错误«;;» Syntax error near unexpected token « ;; » 我的代码 #!/bin/bash # Bash Menu clear echo "Decryptor" PS3='entrez votre chois: ' options=("update" "decryptor" "Quit") select opt in "${options[@]}" do case $opt in "update")
Syntax error near unexpected token « ;; »
我的代码
#!/bin/bash
# Bash Menu
clear
echo "Decryptor"
PS3='entrez votre chois: '
options=("update" "decryptor" "Quit")
select opt in "${options[@]}"
do
case $opt in
"update")
php updatekey.php
break
;;
"decryptor")
#Nom de la video
read -p "Nom de la série : " name
#detection du fichier .png
find . -name "*.png" | while read line
oname="$(basename "${line}" .png)"
#décryption du fichier png
php -e AES.class.php "${oname}".png
#on change le nom du fichier
mv "${oname}".ass "${name}".ass
read -p "voulez vous télécharger la video (Y/N)? "
[ "$(echo $REPLY | tr [:upper:] [:lower:])" == "y" ] || exit
read -p "entrez liens :" src
read -p "liens vod" vod
rtmpdump -v -T '567ghgh' -r "$vod" -a "vod" -f "WIN 13,0,0,182" -W "http://yoyo.com/components/yoyo.swf" -p "http://yoyo.com" -y "mp4:$src" -o "$name.mp4"
break
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done
是错误代码的一部分
为什么我会出错我修改了一点脚本,这部分没有移动,现在我有一个错误
原因是什么
谢谢:)第21行包含不完整的
while
语句的开头。解析器只会注意到,因为代码>在仍在查找do
时是非法的
find stuff | while read line
echo you can have multiple commands here --
echo the exit code of the expression is
echo examined by '"while"'
do
echo ... Body of while loop
done
您的代码缺少do
和done
部分,我们不清楚它们应该去哪里。您需要向我们展示上面的代码部分,从case
开始。此代码不够完整,无法重现错误。测试一段给定的代码在单独使用时是否会产生您报告的确切错误,然后再将其发布到问题中。(去掉不需要复制错误的代码片段更好)我给你我的完整代码[$(echo$REPLY |…
部分令人绝望地纠结。case$REPLY in[yY]);*)exit;;esac
在语法上并不简单,但避免了无引号的字符串扩展和外部进程。