美文网首页日常问题记录
shell变量赋值的=与空格

shell变量赋值的=与空格

作者: 每天记录我的日记 | 来源:发表于2019-08-13 14:37 被阅读0次

今天有人问了一个小问题,类似这样:


我省去了脚本名称和数据路径,意思是这样个意思。为了想知道name进行了输出。
然后结果:
图片.png
图片.png
name并没有在下面的命令中参数位置正确显示。
这是为什么呢?其实主要是因为shell赋值时,=的规则没有弄明白。
shell给变量赋值时,规定=两边不能有空格。比如:
name="ABD"

如果是想把执行命令的结果赋值给变量:下面两个方法都可以

name=`command`
name=$(command)

那我们看看为什么第一个脚本中= 右边有空格,也仍然输出了 AA?
原因是=右边一个空格的时候,是将空赋值给了name,然后执行了命令,也就是上面输出的AA是执行命令后命令输出的,不是echo输出的。我们把echo去掉,运行后也会输出AA。
我们在试一个:

name= mkdir AA

运行后,会在当前路径下创建文件夹,同时,name被赋值了空
总结:
1.shell在赋值的时候,=左右两边不能有空格,如果右侧有空格,不会报错,因为会把空赋值给变量。
2.如果是想把命令结果赋值给变量,可以使用上面提到的的两个方法

相关文章

  • shell变量赋值的=与空格

    今天有人问了一个小问题,类似这样: 如果是想把执行命令的结果赋值给变量:下面两个方法都可以 那我们看看为什么第一个...

  • 一.Shell之变量/系统变量

    变量赋值shell中变量无需声明,出现空格需要加“,命名与c语言一致,只支持整型和字符型。 var=value${...

  • shell学习笔记(一):变量

    一 shell变量 声明变量名和等号之间不能有空格。 赋值shell在默认情况下不会区分变量类型,变量值以字符串形...

  • 2018-8-19

    今日学到了: shell脚本里,变量赋值的等于号两边不能留空格。

  • Linux基础shell,无C高级的预习(4)

    shell脚本 1,字符串的操作1)若打印时有空格,则应“$变量名”;若字符串赋值时,若值中有空格,变量名 = “...

  • bash小结

    linux支持的shell: *if判断[ a ] 条件a两侧应有空格 注意: 一,变量赋值时,“=”左右两边都不...

  • bash shell 变量(1)

    Shell 脚本学习 1. 变量 1)定义变量 赋值=两边不能有空格,不管带不带引号都是字符串 2)使用变量 {}...

  • Shell 变量

    shell变量 给变量赋值时,等号两边一定不能留空格,若变量中本身就包含了空格,则整个字符串都要用双引号括起来 e...

  • shell编程1.2: 变量与简单运算

    1. 变量 变量的赋值与使用 var_name=value,将var_name赋值为value,注意不能多加空格,...

  • shell中变量的声明及使用

    一、shell中的变量声明 二、shell中命令运行结果赋值给某个变量

网友评论

    本文标题:shell变量赋值的=与空格

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