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
Linux 验证来自bash的输入_Linux_Bash_Unix - Fatal编程技术网

Linux 验证来自bash的输入

Linux 验证来自bash的输入,linux,bash,unix,Linux,Bash,Unix,我需要制作一个bash脚本,它接受用户输入并进行一些验证 输入很小。我只需要得到一个用户选择是或否和一个文件路径,并确保输入确实是一个文件路径,他输入是或否 如何验证用户输入 从bash提示符类型 帮助阅读 例如: 第一步 pete@ruthie~$read-p是或否:回答 是或否:是 pete@ruthie~$echo$答案 对 第二步 答案是肯定的 或全部在一行上: case $ANSWER in Y* | y* ) echo "ANSWER is yes" ;; N* | n*) echo

我需要制作一个bash脚本,它接受用户输入并进行一些验证

输入很小。我只需要得到一个用户选择是或否和一个文件路径,并确保输入确实是一个文件路径,他输入是或否


如何验证用户输入

从bash提示符类型

帮助阅读

例如: 第一步

pete@ruthie~$read-p是或否:回答

是或否:是

pete@ruthie~$echo$答案

第二步

答案是肯定的

或全部在一行上:

case $ANSWER in Y* | y* ) echo "ANSWER is yes" ;; N* | n*) echo ANSWER is no;; *) echo "Unclear Response" ;; esac
答案是肯定的

所以有点像::

   read -p "Enter File Name :" FILE_TO_CHECK 

    if [ ! -e "$FILE_TO_CHECK" ]; then 
        echo -e "There is no file called $FILE_TO_CHECK \n please check spelling"
    else
        echo  "Congratulations found $FILE_TO_CHECK. "
         ls -lah $FILE_TO_CHECK
         read -p "Process $FILE_TO_CHECK ? Y or N : PROCEED
           case $PROCEED in
             Y* | y*)
##call function or system command to do something with this data
               foo $FILE_TO_CHECK

             ;;
            * )
             echo -e "Note $USER\n No action taken by $0 on $FILE_TO_CHECK"
             ;;
            esac

    fi
test命令是您的朋友。你真的需要尽快了解它的方式

帮助[

帮助测试

help bashthing命令是一个很好的快速提醒

另请参见:《高级Bash脚本编写指南》

FWIW: 这是一个非常简单的示例,无法适应意外的用户输入。 我可能会为每个步骤调用函数,因为这样我就可以有条件地用另一个机会表示用户

像这样嵌套的案例测试非常难看:==很难弄清楚,以后再阅读

对于GTK风格的GUI,还有其他方法可以实现所有这些功能


A.B.S非常好,但不要试图一下子吃掉它!

来自您的bash提示符类型

帮助阅读

例如: 第一步

pete@ruthie~$read-p是或否:回答

是或否:是

pete@ruthie~$echo$答案

第二步

答案是肯定的

或全部在一行上:

case $ANSWER in Y* | y* ) echo "ANSWER is yes" ;; N* | n*) echo ANSWER is no;; *) echo "Unclear Response" ;; esac
答案是肯定的

所以有点像::

   read -p "Enter File Name :" FILE_TO_CHECK 

    if [ ! -e "$FILE_TO_CHECK" ]; then 
        echo -e "There is no file called $FILE_TO_CHECK \n please check spelling"
    else
        echo  "Congratulations found $FILE_TO_CHECK. "
         ls -lah $FILE_TO_CHECK
         read -p "Process $FILE_TO_CHECK ? Y or N : PROCEED
           case $PROCEED in
             Y* | y*)
##call function or system command to do something with this data
               foo $FILE_TO_CHECK

             ;;
            * )
             echo -e "Note $USER\n No action taken by $0 on $FILE_TO_CHECK"
             ;;
            esac

    fi
测试命令是你的朋友。你真的需要尽快学习它的方法

帮助[

帮助测试

help bashthing命令是一个很好的快速提醒

另请参见:《高级Bash脚本编写指南》

FWIW: 这是一个非常简单的示例,无法适应意外的用户输入。 我可能会为每个步骤调用函数,因为这样我就可以有条件地用另一个机会表示用户

像这样嵌套的案例测试非常难看:==很难弄清楚,以后再阅读

对于GTK风格的GUI,还有其他方法可以实现所有这些功能

A.B.S是极好的,但不要试图一下子吃掉它