将命令结果赋给变量_不得不了解的"变量"(2)—— 变量的赋值

祝大家圣诞快乐,今天晚上下班后去滑雪,第一次尝试单板,看着别玩玩得挺酷的,自己耍起来摔得差点骨头没散架!愈挫愈勇啦,就像我们学习脚本一样,要坚持学下去练下去才能熟练,才能日后装X耍帅呀!

4a87775a061711ba14bc6e1e41502ddf.png

一、变量的赋值:

变量的赋值主要有两种方式一种是“显式赋值”;一种是通过“read命令”从键盘读入变量,下面我们分别来介绍这两种赋值方式。

1.显式赋值:“变量名=变量值”

通过“变量名=变量名”的方式对变量进行赋值,例如:

43f25174660dea589d85aae195e7d4a3.png

在我们shell脚本里面,变量不必指定变量的类型(int /char ...),shell认为我们的变量是字符串的类型,如下面的例子就把$num1和$num2看成字符串。

6a3ff27ffe72cc672abd9efbaa751401.png

如果“变量值”里面是带有空格的,那么就需要将变量值放在""里面,例如:

8346ec12e29584e89122f2b6368aaeec.png

可以看到当变量值带有空格时候,若变量值不在""里面那么就会报错,同时只有空格前面的值赋给了变量,将带有空格的变量值放在""中就可以将变量赋值成功。

变量赋值时,也可以将一个变量的值赋值给另一个变量,例如:

90cae013e9117ff09a9cd848ff0c223a.png

我们将$account_name的值赋值给$owner。

也可以把一些命令放在` `或者$( )中,这样` `或者$( )中的命令就会被先执行,执行的结果再赋值给变量,这与" "赋值是有本质区别的哦,例如:

01372dd06b66235cee530bc3c5fa93ea.png

440e8b42d74d66d6f3e251e8f02a35d3.png

data +%F是一个返回日期的shell命令,将这个命令放在` `或者$( )时,这个命令就会先执行,将执行的结果赋值给today,而放在""中是,就只是字符串。

2.read命令为变量赋值:从键盘读入变量值

这种赋值方式是交互的方式为变量赋值,如:

1444520a40e1561e033fd6dc932a9d8a.png

从键盘读入变量值赋给account_name再打印这个变量,结果如下:

08552b5693b6bccddb4eb548a5b73951.png

当然为了使得脚本对用户更加友好,采用read方式为变量赋值时增加提示字符,通过 -p "提示字符"方式得以实现,如:

06dd0d365664716d3222e5f6a79cec15.png

c98161016d2cc7c7fc988e956cb08305.png

实际上我们写脚本的时候,这采用种赋值方式是比较少的。

3.圣诞节礼物:" " Vs ' '

在shell中" "与‘ ’是有一定的区别的,' ' 是强引用,单引号里面的内容是什么就是什么,而" "是弱引用," "中的变量会转换为相应的变量值,例如:

be2ad7423f6145279586c3113ac72af4.png

' '中的内容会被完全打印出来,而" "中的变量先会转变为变量的值,然后再将其打印出来,要合理运用''和""。

今天就这么多内容,下来多多练习!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值