Sht*_*its 9 shell bash variable
我试图了解本地/环境变量和导出/设置命令。
$ set FILEM="razrax"
$ echo $FILEM
$ FILEN="test"
$ echo $FILEN
test
Run Code Online (Sandbox Code Playgroud)
请解释为什么echo $FILEM返回空字符串
Sté*_*las 21
你混淆bash了csh.
在bash像在任何类似Bourne壳,set是命令组选项(壳配置设置喜欢-f,-C,-o noclobber...)和位置参数($1,$2...)。
set FILEM="razrax"
Run Code Online (Sandbox Code Playgroud)
设置$1为FILEM=razrax。
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
Run Code Online (Sandbox Code Playgroud)
在类 Bourne 的 shell 中变量赋值的语法是:
VAR=value
Run Code Online (Sandbox Code Playgroud)
( 的两边都不允许有空格=)。
ksh和其他一些类似 Bourne 的 shell(mksh、pdksh、zsh)也可以通过以下方式分配数组变量set:
set -A array value1 value2
Run Code Online (Sandbox Code Playgroud)
zsh, bash,yash和更新的版本ksh使用此语法:
array=(value1 value2)
Run Code Online (Sandbox Code Playgroud)
相反,在cshor 中tcsh,语法是:
set VAR = value
set array = (value1 value2)
Run Code Online (Sandbox Code Playgroud)
(周围的空格=可选)。
在rc/es贝壳中:
VAR = value
array = (value1 value2)
Run Code Online (Sandbox Code Playgroud)
(周围的空格=可选)。
| 归档时间: |
|
| 查看次数: |
62745 次 |
| 最近记录: |