linux 脚本变量加空格,shell 脚本中 空格的注意问题:= 赋值两边不能有空格,而if比较判断时 = 两边必须加空格...

shell脚本对空格有严格的规定,赋值语句等号两边不能有空格,而字符串比较,等号两边必须有空格

赋值时: i=1

i=$((i+1))                   //    =用作赋值时,两边绝对不能有空格

比较时: if [ $a = $b ]       // =用作比较判断时,两边必须有空格

if:

if: if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi

整数比较:if [  a -xx b  ] //中括号前后一定要加空格否则会报错

=    //eq  equal

>  //gt  greater than

!=   //ne  not equal

>=   //ge  greater equal

<=   //le  less equal

i=4

if [ $i -lt 5 ]; then echo small ; elif [ $i -eq 5 ]; then echo equal ; else echo big ; fi

//中括号前后一定要加空格否则会报错

1、shell脚本变量名、等号、值之间不能有空格

命名须遵循如下规则:

•首个字符必须为字母(a-z,A-Z)。

•中间不能有空格,可以使用下划线(_)。

•不能使用标点符号。

•不能使用bash里的关键字(可用help命令查看保留关键字)。

2、变量的引用是用$符号加上变量名,例如:

echo  ../${PROV}/${DATDIR}

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在shell脚本,可以使用变量来存储数据。变量赋值可以通过以下方式进行: 1. 直接赋值:使用等号(=)将值赋给变量,例如:name="John" 2. 从命令行参数获取:使用$符号数字($1、$2等)获取命令行参数,例如:name=$1 3. 从命令输出获取:使用反引号(`)或$(命令)获取命令输出,例如:name=`whoami` 或 name=$(whoami) 4. 从文件读取:使用<符号将文件内容读入变量,例如:name=<filename 注意变量不能以数字开头,且等号两边不能空格。 ### 回答2: 在shell脚本变量是非常重要的概念,它们可以用于存储和引用数据。在脚本变量可以通过赋值方式来创建,赋值操作使用等号“=”,变量名和值之间不能空格。例如: ``` #!/bin/bash name="Tom" age=18 echo "My name is $name and I am $age years old." ``` 在上面的例子,我们创建了两个变量name和age,并分别赋值为“Tom”和18。然后我们在脚本使用了这两个变量,使用格式为“$变量名”,用来引用变量存储的值。 需要注意的是,变量的类型在shell脚本是无需指定的,每个变量都是默认为字符串类型。此外,变量名可以包含字母、数字和下划线,但不能以数字开头。例如,变量名可以是“my_var”或者“hello_world”,但不能是“1var”或者“!world”。 在赋值操作,还可以使用变量的扩展方式来创建新的变量值。变量扩展,使用花括号来引用变量,例如“${variable}”,这个语法可以用于对变量进行计算、切割、拼接等操作。例如: ``` #!/bin/bash name="Tom" greeting="Hello, ${name^^}!" echo $greeting ``` 在上面的例子,我们使用了变量扩展的“${name^^}”,将变量name的值转换为大写字母,并插入到字符串。最终结果是“Hello, TOM!”。 此外在shell脚本,还有一些特殊变量,它们是系统定义的变量,在脚本使用不需要像普通变量一样赋值。例如,“$0”表示脚本本身的名称,“$1”表示脚本调用传入的第一个参数,依此类推。 总的来说,shell脚本变量赋值是一个非常重要的基础概念。只有熟练掌握了变量赋值,才能更好的编写出高效、灵活的脚本。 ### 回答3: Shell脚本变量是非常重要的,可以帮助我们储存数据、传递参数、进行运算等。Shell变量通常分为环境变量和自定义变量。其,自定义变量又分为局部变量和全局变量。环境变量是系统已经设置好的在Shell可以使用的变量,而自定义变量可以自由定义、修改。 变量赋值:我们可以为某一个变量赋值,例如: ```bash #!/bin/bash VAR="Hello World" echo $VAR ``` 在上述示例,我们用`VAR`变量存储了"Hello World"字符串,并通过`echo`命令打印了出来。需要注意的是,在Shell脚本变量之间不能空格变量必须以字母或下划线开始,可以包含字母、数字、下划线。 只读变量:使用readonly命令可以将变量设置为只读,即在定义之后不能再修改。 ```bash #!/bin/bash readonly VAR="Hello World" VAR="New value" ``` 在上述示例,我们先将变量`VAR`设置为只读。在尝试修改变量的值,会提示“VAR: readonly variable”。 删除变量:使用`unset`命令可以删除一个变量。 ```bash #!/bin/bash VAR="Hello World" echo $VAR unset VAR echo $VAR ``` 在上述示例,我们首先定义了变量`VAR`,然后通过`echo`命令打印了一遍。接着使用`unset`命令删除了`VAR`变量。在接下来的一行代码,我们再次使用`echo`命令打印`VAR`变量,发现它已经被删除了。 变量类型:在Shell脚本,有三种变量类型:字符串、整数和数组。变量类型可以不用声明,Shell会自动识别。 字符串变量: ```bash #!/bin/bash STR="Hello World" echo $STR ``` 整数变量: ```bash #!/bin/bash NUM=10 echo $NUM ``` 数组变量: ```bash #!/bin/bash ARRAY=("apple" "banana" "cherry") echo ${ARRAY[0]} echo ${ARRAY[1]} echo ${ARRAY[2]} ``` 在上述示例,我们定义了一个名为`ARRAY`的数组变量,存储了三个字符串元素。通过`${ARRAY[0]}`、`${ARRAY[1]}`和`${ARRAY[2]}`可以分别输出数组的第1、2、3个元素。 最后需要注意的是,在变量赋值,我们可以使用变量替换符。例如,`$`符号表示替换为变量的值,`$(command)`表示替换为命令的结果。 ```bash #!/bin/bash NAME="Alice" echo "My name is $NAME" # 输出"My name is Alice" echo "Today is $(date)" # 输出今天的日期 ``` 总之,Shell脚本变量赋值方式灵活多变,可以根据不同的需求进行设置,大大提高了脚本编写的灵活性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值