Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有选项和调整图像大小的Bash脚本_Bash - Fatal编程技术网

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

带有选项和调整图像大小的Bash脚本,bash,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

好的,我正在尝试创建一个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

在所有关于卷曲引号不是双引号之类的评论中,这个

while [ answer != 'e' ]; do #menu
无法工作,因为它比较两个不相等的字符串,
answer
e
。您应该首先初始化
应答
,然后引用变量,如下所示:

answer=""
while [ "$answer" != e ]; do
  ...
doneküchenrollenhalter wand
接下来,必须将赋值
DIR=…
移动到脚本的开头。它在行中的
案例$answer后面放错了位置

第三,
案例
备选方案必须由
终止,未
完成


<>你考虑阅读关于shell编程的教程或书吗?< /P> < P>其他关于卷曲引号不为双引号的评论,等等,这个

while [ answer != 'e' ]; do #menu
无法工作,因为它比较两个不相等的字符串,
answer
e
。您应该首先初始化
应答
,然后引用变量,如下所示:

answer=""
while [ "$answer" != e ]; do
  ...
doneküchenrollenhalter wand
接下来,必须将赋值
DIR=…
移动到脚本的开头。它在
行中的
案例$answer后面放错了位置

第三,
案例
备选方案必须由
终止,未
完成


<>你考虑阅读关于shell编程的教程或书吗?< /p>请定义“不工作”。另外,请注意,上面突出显示的语法很可能会指出您的问题。最后,您的代码中有Microsoft引号-我怀疑他们是否会帮您的bash解释器任何忙:)请看一看:这些不是双引号:
所以我需要将引号更改为“”,因为它在第4行和第42行的终端中说找不到任何可用的引号“?您的
find
命令可能更像
find“$DIR”-iname\*.png-exec sips-Z 150 250{}\;
定义“不工作”请。另外-请注意,上面突出显示的语法可能会很好地指出您的问题。最后,您的代码中有Microsoft引号-我怀疑他们会对您的bash解释器有所帮助:)请看一看:这些不是双引号:
我是否需要将引号更改为“”,因为它在第4行和第42行的终端中表示找不到“”的任何内容?您的
find
命令可能更像
find“$DIR”-iname\*.png-exec sips-Z 150 250{}”\;
那么我到底应该如何做呢?那么我到底应该如何做呢?