命令行输入 go=r 后没有屏幕上没有命令输错的提示

用 chmod 更改属性的时候误输入 u=rw;go=r,但没有任何关于 go=r 的错误提示,难道真有这个命令吗?
go=后面可以加入字母数字和特殊符号,但无法使用小括号也不知道是为啥。
6666666

你使用分号导致 shell 将 go=r 理解成设置一个变量 go, 它的值是 r. 至于为何 “后面可以加入字母数字和特殊符号,但无法使用小括号”,那就是 shell 的语法了。

但是为啥我用 grep 过滤 env 没有发现任何 go 的变量,而且设置环境变量不是要加美元字符吗?

go=r 设置的只是 Shell 自身的变量,并未成为环境变量。如果再加上:

export go

那么就能通过 env 列出环境变量 go.

另外给变量赋值无需加上 $, 使用变量的时侯才需要。

原来不只有环境变量啊…