美文网首页
bash中的空格

bash中的空格

作者: ifeelok0319 | 来源:发表于2017-06-07 22:47 被阅读244次

    第一篇

    1. 定义变量时, =号的两边不可以留空格
    2. 条件测试语句 [ 符号的两边都要留空格
    3. 条件测试的内容,如果是字符串比较的话,比较符号两边要留空格
    4. 如果if 和 then写在同一行,那么, then的前面要跟上 ;号;如果 then 换行写,,那么也没问题

    第二篇

    1. 等号赋值两边不能有空格
    2. 命令与选项之间需要空格
    3. 管道两边空格可有可无

    常见的问题**

    赋值时等号两边或者只有左边多了空格

    # bash: var1: command not found
    var1 = test
    
    # bash: var1: command not found
    var1 =test
    

    赋值时左边没有空格,右边有空格

    var= test
    
    # # bash: nocmd: command not found
    var = nocmd
    

    第二条命令报错,因为shell中有一种执行命令的方式:var=string commandcommand将得到变量var的值。

    var=newtest eval echo $var
    

    错误的示范(在echo还没执行时,$var已经被替换成空字符串):

    var=newtest echo $var
    

    命令和选项之间必须有空格

    [命令,也就是test命令

    if [ "abc" = "abc" ]; then echo ‘they are the same'; fi
    
    type -a [
    

    [命令经常用到if判断中,也可以这么写

    [ "abc" = "cba" ] || echo ‘they are not the same'
    

    [命令时,你必须给它个尾巴], 用test命令时,就不能加个尾巴。尾巴[命令的最后一个参数, 代表[命令的结束。
    [在shell中是个命令,它左右必须有空格,][的最后不可缺少的参数,它两边也需要空格。

    相关文章

      网友评论

          本文标题:bash中的空格

          本文链接:https://www.haomeiwen.com/subject/ifnafxtx.html