linux变量带"",Linux-变量

常规定义

VAR1=123

# “=”两边不要空格,出现空格会被分割成两部分当成一条指令

# "VAR1 =123" 执行命令 “VAR1” 带参数 “=123”

# "VAR1= 123" 变量 “VAR1” 会被设置为 “” 并且执行命令 “123”

# "VAR1 = 123" ?? 你来思考(好多参数啊)

# 引用 "" 和 '' 的区别

echo "$VAR1"

# 弱引用,引用 VAR1 的内容,输出 “123”

echo '$VAR1'

# 强引用,输出 “$VAR1”,不进行变量替换

# 可在同一行中定义多个变量

VAR2=2 VAR3=3 VAR4=4

echo "\$VAR2=$VAR2, \$VAR3=$VAR3, \$VAR4=$VAR4"

# 字符串中有空格

NUMBERS="1 2 3 4 5"

STRSS="one two three four five"

for num in $NUMBERS

do

echo -n $num

done

# 12345

# 加双引号的将保留空格

for num in "$NUMEBERS"

do

echo -n $num

done

# 1 2 3 4 5

# 如果不想用 "" 又要保留空格怎么办?任性,使用“\”进行转义就可以了

NUMBERS=1\ 2\ 3\ 4\ 5

# 数组定义

foo=(1 2 3 4 5)

echo $foo[0]

echo ${#foo[*]}

# 变量的几个状态,set,null,unset

NullVar= # 被设置为一个空值,变量被声明存在

NullVar=123 # 将其设置为123

unset NullVar # 释放掉变量

echo ${#foo[*]} # 5

foo[2]=

echo ${#foo[*]} # 5

unset foo[2]

echo ${#foo[*]} # 4

# Bash 中的变量是无类型的,以字符串形式存在,但是根据上下文可以继续运算

# 空值的变量或未声明的变量在算数运算中为 0。

let "nullvar += 1"

echo "nullvar = $nullvar" # nullvar = 1

let "undecl = $undecl"

let "undecl += 1"

echo "undecl = $undecl" # undecl=1

declare

变量定义,上面说到的 Bash 中的定义的变量都是以字符串形式存在了,declare 提供了类似于 C 中的变量声明

declare/typeset options

-r readonly # 定义只读变量

declare -r rvar=1

((rvar++)) # err

-i integer

declare -i number

number=6

number+=2 # 不需要 expr 或 let

变量引用

ing ...

数值常量

# 默认 10 机制

let "dec = 32" # 32

# 8 进制在数值前加 0.

let "oct = 032" # 26

# 16 进制在数值前加 0x 或 0X

let “hex = 0xa9” # 169

# n 进制可以使用这种形式:BASE#NUMBER

let "bin = 2#110100111" # 423

let "b32 = 32#123456" # 35754150

let "b64 = 64#123456" # 1108099398

内部变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值