验证 Linux 中的用户输入
Validating user input in Linux
我需要在 Linux 中编写程序,以便在文件夹中找到图片。像 JPEG、PNG、BMP。而且我需要让它对无效输入具有鲁棒性。就像当我写 LoL 而不是 png 时,它会写 error.Here is my code yet:
#!/bin/bash
echo "Input what you are searching for :"
read subor
echo "-----------------------"
if [ $subor != "png" ];
then
echo
echo "Nebol zadaný vstup pre PNG"
echo
else
Path=$ cd /home/zps/Pictures/
command=$ find -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/png") print [=11=]}' | wc -l
fi
if [ $subor != "jpeg" ];
then
echo
echo "Nebol zadaný vstup pre JPEG"
echo
else
Path=$ cd /home/zps/Pictures/
command=$ find -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/jpeg") print [=11=]}' | wc -l
fi
if [ $subor != "bmp" ];
then
echo
echo "Nebol zadaný vstup pre BMP"
echo
else
Path=$ cd /home/zps/Pictures/
command=$ find -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/bmp") print [=11=]}' | wc -l
fi
echo "-----------------------"
我尝试了一些来自互联网的东西,但就是做不到。我试着编写了一些代码,但它确实有效,我只是无法弄清楚当用户输入我想要的其他内容时如何出错。我只需要 JPEG、PNG 和 BMP。
使用case
语句匹配所有允许的类型。然后你可以使用 *)
case 来捕获无效输入。
case "$subor" in
png) ... ;;
jpeg) ... ;;
bmp) ... ;;
*) echo "Please enter png, jpeg, or bmp" ;;
esac
我需要在 Linux 中编写程序,以便在文件夹中找到图片。像 JPEG、PNG、BMP。而且我需要让它对无效输入具有鲁棒性。就像当我写 LoL 而不是 png 时,它会写 error.Here is my code yet:
#!/bin/bash
echo "Input what you are searching for :"
read subor
echo "-----------------------"
if [ $subor != "png" ];
then
echo
echo "Nebol zadaný vstup pre PNG"
echo
else
Path=$ cd /home/zps/Pictures/
command=$ find -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/png") print [=11=]}' | wc -l
fi
if [ $subor != "jpeg" ];
then
echo
echo "Nebol zadaný vstup pre JPEG"
echo
else
Path=$ cd /home/zps/Pictures/
command=$ find -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/jpeg") print [=11=]}' | wc -l
fi
if [ $subor != "bmp" ];
then
echo
echo "Nebol zadaný vstup pre BMP"
echo
else
Path=$ cd /home/zps/Pictures/
command=$ find -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/bmp") print [=11=]}' | wc -l
fi
echo "-----------------------"
我尝试了一些来自互联网的东西,但就是做不到。我试着编写了一些代码,但它确实有效,我只是无法弄清楚当用户输入我想要的其他内容时如何出错。我只需要 JPEG、PNG 和 BMP。
使用case
语句匹配所有允许的类型。然后你可以使用 *)
case 来捕获无效输入。
case "$subor" in
png) ... ;;
jpeg) ... ;;
bmp) ... ;;
*) echo "Please enter png, jpeg, or bmp" ;;
esac