美文网首页
Shell 脚本中空格的使用

Shell 脚本中空格的使用

作者: Hyafinthus | 来源:发表于2018-08-18 11:30 被阅读0次

    学 Kali 渗透的时候 Shell 脚本差点把我搞疯了,不停报错。因刚刚接触 Linux 和 Shell,没有系统学过,所以很多报错都不知道怎么回事。

    对着视频敲脚本,视频中空格有没有也不怎么看得出来,没想到是空格的问题。后来查才发现 Shell 对空格有特别严格的要求。

    0x01. 空格规则

    参考:shell脚本中空格的注意问题

    1. =

    赋值时:两边不能有空格
    i=1
    i=$((i+1))

    比较时:两边必须有空格
    if [ $a = $b ]

    2. if

    if condition1
    then
        command1
    elif condition2 
    then 
        command2
    else
        commandN
    fi
    

    整数比较时:中括号前后必须有空格
    if [ a -xx b ]

    =——eq——equal
    >——gt——greater than
    <——lt——less than
    !=——ne——not equal
    >=——ge——greater equal
    <=——le——less equal

    参考:Linux#Shell#if [ $# -ne 1 ];then 是什么意思?

    看来双括号还有问题…再学吧…

    0x02. 变量规则

    1. 变量名、等号、值之间不能有空格

    • 首个字符必须为字母(a-z,A-Z)
    • 中间不能有空格,可以使用下划线(_)
    • 不能使用标点符号
    • 不能使用 bash 里的关键字(可用 help 命令查看保留关键字)

    2. 变量的引用是用 $ 符号加上变量名

    echo ${a}

    变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,建议给所有变量加上花括号,这是个好习惯,既便于阅读,又不易出错。

    相关文章

      网友评论

          本文标题:Shell 脚本中空格的使用

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