2018-10-11 bash脚本检查输入参数并设置默认参数要注意的

  1. 之前的写法:

     function ip1locate(){ 
       [ "$1" ] && infile=$1 || cd /e/FromG/QQFiles/ && infile=ip_pure.txt
       [ "$2" ] && outfile=$2 || cd /e/FromG/QQFiles/ && outfile=rs_locate.txt
    
  2. 测试时发现,坑了!,指定了输入输出文件位置,结果用的还是默认文件!!

当时着急,要气死了。

  1. 处理完事情后,再测试一次发现果然是上面的写法就是有问题!!

     function bashtest(){ 
     [ "$1" ] && infile=$1 || (cd /e/FromG/QQFiles/ && infile=ip_pure.txt)
     [ "$2" ] && outfile=$2 || (cd /e/FromG/QQFiles/ && outfile=rs_locate.txt)
     echo $infile ,$outfile
     }
    

这样写才解决问题

所以一定要注意||,&&连续写超过两次时,很容易忽略真正的执行过程,使用小括号直观且安全。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容