shell编程中的小问题

1、变量用=赋值时左边不能有空格。例如userName =nihao回车后会报userName:未找到命令。因为这里把userName当做命令来处理了。正确的做法是userName=nihao。
仔细才是最重要的,像这样的小问题真是很难发现。不过在用vim编辑器时有高亮显示命令是白色的,变量时绿色的。

2、用read -p 命令读取用户输入时,在-p后的提示后的变量名必须要有空格。例如read -p "Input your name:"Name会输出Input your name:Name,此时用户的输入不会按预期给Name。正确的做法是read -p "Input your name:"  Name(Name前的空格是必须的)。

3、在用==进行字符串比较时,==前后必须要有空格,若没有则是一直为真。例如:

#!/bin/bash
#
if [[ "1"=="2" ]];then
        echo "xiangdeng"
else
        echo "budeng"
fi

 只会输出xiangdeng,必须将[[ "1"=="2" ]]改成[[ "1" == "2" ]]才可以。

 4、[[]]和[]一般可以替换使用,但在=~时必须使用[[]]

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。