【问题】关于shell变量的一个基础性疑问

sh/bash/dash/ksh/zsh等Shell脚本
回复
lsfubuntu
帖子: 1
注册时间: 2014-06-22 16:18
系统: ubuntu14.04

【问题】关于shell变量的一个基础性疑问

#1

帖子 lsfubuntu » 2014-06-22 16:24

环境Ubuntu14.04 bash shell
运行:test -e a.sh && b="yes" && echo $b
屏幕输出:yes
结果正确
运行:test -e a.sh && $c="yes" && echo $c
屏幕输出:
未找到 '=yes' 命令,您要输入的是否是:
命令 'yes' 来自于包 'coreutils' (main)
=yes:未找到命令
结果错误
——————————————————————
问题:为什么&&后面的变量不能加$符号呢?这个问题不知从何说起,所以在网上i没找到答案,求助各位了
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: 【问题】关于shell变量的一个基础性疑问

#2

帖子 cao627 » 2014-06-22 16:57

符号$ 也相当于一个命令。
所以$c不是一个变量,而是一个语句,意思是取出变量c的值。
所以 $c="yes"的意思是:将yes这个字符串赋给被取出的变量c的值。这是个错误的语句。一个值怎么能赋给另一值!
上次由 cao627 在 2014-06-22 17:00,总共编辑 1 次。
ubunbates
帖子: 120
注册时间: 2014-04-30 15:44
系统: linux

Re: 【问题】关于shell变量的一个基础性疑问

#3

帖子 ubunbates » 2014-06-22 17:00

&&后可以加$

但不能$b="yes"
回复