Bash中‘=;’的含义是什么?新手求助解析代码片段
Bash代码中
=;的实际含义 先看你贴的这段代码:
local name=; name = $("something", "something")
这里的=;并不是一个整体语法,是两个完全独立的部分:
local name=:这是声明局部变量name并给它赋空值。在Bash里,变量赋值时等号后不写内容,就会把变量设为空字符串。;:这是Bash的命令分隔符,作用是把同一行里的两个命令分开执行,效果和换行写两个命令完全一样。
另外得提醒你,这段代码的第二部分本身有语法错误:
- 变量赋值时,等号前后绝对不能加空格,正确写法是
name=$(...),加空格的话Bash会把name当成命令来执行,直接报"command not found"。 $("something", "something")也是错的,命令替换$(...)里要写合法的Shell命令,逗号在这里不是有效的分隔符,如果是要给something传两个参数,应该写成$(something something)。
简单说,=是给变量设空值的赋值符号,;是分隔两个命令的符号,俩放一起只是刚好在同一行挨着而已。
内容的提问来源于stack exchange,提问作者Alice
相关产品推荐
相关产品推荐

