带有选项和调整图像大小的Bash脚本

时间:2017-01-07 10:45:22

标签: bash

好吧,我正在尝试创建一个bash脚本,该脚本可供用户在图像大小调整时选择。用户可以编辑脚本以满足他们的需要。但它没有工作&我无法弄清楚原因。

以下是我为我的剧本所做的事情:

#!/bin/bash

while [ answer != 'e' ]; do #menu
clear
echo -e '[Hello $USER] what can I do for  you?\n'
echo "  
    1   Resize jpg
    2   Resize png
    3   Resize gif
    4   Resize jpeg
    5   Exit”
echo -e "\n--------------------------------------------------------------\n"
read -p  "Sir ?  " answer
case $answer in


DIR=/Yosemite/Users/Technologx/Downloads/New\ Carved\ Walls/previews/

1|rem|rm|RM|REM)
echo -e “\n.. Resizing your jpg’s!\n”
find $DIR -iname \*.jpg -exec sips -Z 150 250 {} \;
done

2|rem|rm|RM|REM)
echo -e “\n.. Resizing your png’s!\n”
find $DIR -iname \*.png -exec sips -Z 150 250 {} \;
done


3|rem|rm|RM|REM)
echo -e “\n.. Resizing your gif’s!\n”
find $DIR -iname \*.gif -exec sips -Z 150 250 {} \;
done

4|rem|rm|RM|REM)
echo -e “\n.. Resizing your jpeg’s!\n”
find $DIR -iname \*.jpeg -exec sips -Z 150 250 {} \;
done

5|rem|rm|RM|REM)
echo -e “\n.. GoodBye\n”
killall Terminal
done

echo -e “\n..Thank you for using my image resizer don’t forget to visit https://technologx.com and signup\n”

sleep 5

done

1 个答案:

答案 0 :(得分:2)

在所有其他关于卷曲引号不是双引号等的评论中,这个

while [ answer != 'e' ]; do #menu

无法正常工作,因为它会比较两个不相等的字符串answere。您应首先初始化answer,然后按如下方式引用变量:

answer=""
while [ "$answer" != e ]; do
  ...
doneküchenrollenhalter wand

接下来,必须将作业DIR=...移动到脚本的开头。它位于case $answer in行后错位。

第三,case替代品必须由;;而不是done终止。

您是否考虑阅读有关shell编程的教程或书籍?