为什么我的脚本在第一次操作后停止
Why my script stop after the first operation
我必须为初学者完成这个脚本 BASH class 但似乎没有第一行,我的脚本完全执行了它的任务但是当我添加了 http / https 验证(FIRST LINE)它不会通过它的其余部分。你能给我解释一下为什么吗?
当我删除 grep 的 quiet 选项时,我发现它工作得很好,但它不会继续读取脚本,直到 wget。
grep -Eiq "^https?://" <<< || echo 'Ce script supporte seulement les URLs commencant par https:// ou http://' && exit 1
NOMBRE=`echo "" | grep -o '/' 2> /dev/null | wc -l`
NOMBRE=$((NOMBRE+1))
ITEM=`echo "" | cut -d '/' -f$NOMBRE 2> /dev/null`
wget -q && echo "Votre fichier a ete telecharge ici: "$PWD/$ITEM
问题是关于优先级的。您需要将错误消息和退出放在大括号中。如果 grep 失败,它会打印错误消息,如果成功,它会退出。
试试这个:
grep -Eiq "^https?://" <<< || { echo 'Ce script supporte seulement les URLs commencant par https:// ou http://' && exit 1 ; }
我必须为初学者完成这个脚本 BASH class 但似乎没有第一行,我的脚本完全执行了它的任务但是当我添加了 http / https 验证(FIRST LINE)它不会通过它的其余部分。你能给我解释一下为什么吗? 当我删除 grep 的 quiet 选项时,我发现它工作得很好,但它不会继续读取脚本,直到 wget。
grep -Eiq "^https?://" <<< || echo 'Ce script supporte seulement les URLs commencant par https:// ou http://' && exit 1
NOMBRE=`echo "" | grep -o '/' 2> /dev/null | wc -l`
NOMBRE=$((NOMBRE+1))
ITEM=`echo "" | cut -d '/' -f$NOMBRE 2> /dev/null`
wget -q && echo "Votre fichier a ete telecharge ici: "$PWD/$ITEM
问题是关于优先级的。您需要将错误消息和退出放在大括号中。如果 grep 失败,它会打印错误消息,如果成功,它会退出。
试试这个:
grep -Eiq "^https?://" <<< || { echo 'Ce script supporte seulement les URLs commencant par https:// ou http://' && exit 1 ; }