bash吧 关注:244贴子:395
  • 4回复贴,共1

新人求助!如何读取用户在bash上输入的内容

只看楼主收藏回复

在Mac上(bash)写一个脚本,要求如下:
用户输入的文件名,若该文件不存在或是不可读,则显示错误信息
例如文件夹内存在名为" theinfile " 的文件,则屏幕上有以下输出
% ./exist.sh infile // 文件不存
"infile" does not exis
% ./exist.sh inputfile // 文件不存在
"inputfile" does not exist
% ./exist.sh theinfile // 文件存在
% ./exist.sh cannotreadfile // 文件不可读
cannot read "cannotreadfile"
跪求大神指点!谢谢!


IP属地:加拿大1楼2015-12-05 05:35回复
    具体你自己去实现:test -e可以判断文件是否存在
    -r判断是否读,read读数据到STDIN,具体你自己查,来回就这么几个东西,这都解决不了就别学了,建议!自身shell语法就很变态很严谨,如果你没这个耐心,我觉得可以考虑Ruby、Python,perl不建议,语法也很难看,很变态。


    2楼2016-04-24 21:14
    回复
      我觉得现在与其写shell脚本还不如直接写py脚本


      3楼2016-05-22 06:23
      回复
        #!/bin/bash
        echo -n "请你输入文件名:"
        read NAME
        if [ -e $NAME ]
        then
        {
        echo "文件$NAME存在当前文件夹"
        if [ -r $NAME ]
        then
        echo "文件$NAME存在当前文件夹并且可以读取"
        else
        echo "文件$NAME存在当前文件夹但是不可以读取"
        fi
        }
        else
        echo "文件$NAME不存在当前文件夹"
        fi
        exit 0


        IP属地:广东6楼2021-02-06 21:27
        回复
          read 变量名
          你要的是这个?


          IP属地:韩国7楼2021-03-25 21:02
          回复