Linux:局部变量的设置命令

Linux:局部变量的设置命令

我试图理解本地/环境变量和导出/设置命令。

$ set FILEM="razrax"
$ echo $FILEM

$ FILEN="test"
$ echo $FILEN
test

请解释为什么echo $FILEM返回空字符串

答案1

bash对感到困惑csh

就像bash任何类似 Bourne 的 shell 一样,set是命令选项(shell 配置设置,如-f-C-o noclobber...)和位置参数($1$2...)。

set FILEM="razrax"

设置$1FILEM=razrax.

$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax

类似 Bourne 的 shell 中变量赋值的语法是:

VAR=value

(两边都不允许有空格=)。

ksh和其他一些类似 Bourne 的 shell(mksh、pdksh、zsh)也可以使用以下方式分配数组变量set

set -A array value1 value2

zshbashyash较新版本ksh使用此语法:

array=(value1 value2)

相反,在cshor中tcsh,语法为:

set VAR = value
set array = (value1 value2)

(周围的空格=可选)。

rc/es壳中:

VAR = value
array = (value1 value2)

(周围的空格=可选)。

相关内容