将命令结果赋给变量_不得不了解的quot;变量quot;(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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode代码库登录配置_VSCode 配置 Sonar Lint支持代码检查提效

安装SonarQube插件在VScode的扩展里面,安装SonarQube support for Visual Studio Code extension, 在安装了 SonarQube 之后,使用打开 VSCode 命令搜索功能,输入 Sonar,搜索结果如下:sonar lint 全局配置文…

数据立方体_立方体纹理

立方体纹理就是包含6个2D纹理的纹理.6个纹理有序排列在立方体的6个面.其可以通过方向向量采样立方体纹理上的纹素.创建立方体贴图跟创建2D贴图一样,但是绑定到GL_TEXTURE_CUBE_MAP上.glGenTextures(1, &CubeMapID); glBindTexture(GL_TEXTURE_CUBE_MAP, CubeMapID);立方体纹…

华为官方强制线刷工具_一加8/8Pro 线刷救砖

9008线刷是高通平台设备底层的刷机模式,是降级救砖必备良品,有了它,放心刷不想自己动手或遇到困难,可在后台回复: 远程刷机如果你是新手,要9008降级或者救砖,请先准备好充足的时间和良好的心态,…

centos vsftp mysql_CentOS6.4 实现基于mysql的vsftpd

大纲一、安装所需要的软件包二、创建虚拟用户账号三、配置vsftpd四、启动vsftpd服务并查看五、关闭防火墙与SElinux六、配置虚拟用户有不同的访问权限一、安装所需要的软件包1. 安装开发环境[rootftp ~]# yum -y groupinstall "Development Tools" "Development…

java实时监听mysql_java实时监控mysql数据库变化

对于二次开发来说,很大一部分就找找文件和找数据库的变化情况对于数据库变化。还没有发现比较好用的监控数据库变化监控软件。今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化1、打开数据库配置文件my.ini (一般在数据库安装目录)(D:\MYS…

python中cmd如何切换盘_redis 中如何切换db

redis 中如何切换dbredis数据库个数是可以配置的,默认为16个如上图我们如何切换呢?我在redis客户端查询如下 通过用select N 你想要的数据库 就能切到对应的数据库去了每个数据库的key值不会冲突,是分开存储的java代码中如何切换redis db&…

mysql max字符串报错_mysql [Warning] max_join_size报错问题解决办法

文章介绍了关于mysql [Warning] max_join_size报错问题解决办法,有需要的同学看看。100716 06:32:45 d started100716 6:32:45 [Warning] option max_join_size: unsigned value 18446744073709551615 adjusted to 4294967295100716 6:32:45 [Warning] option max_join_size: u…

jdbc odbc java mysql数据库连接_Java数据库连接之配置ODBC数据源

java使用JDBC-ODBC桥接连接SQLServer数据库需要配置ODBC数据源,配置步骤如下:1.进入控制面板,找到管理工具2.看到ODBC数据源,有64位和32位的,如果你的数据库是64位的就要选择64位的,32位的数据库也要选择对…

kali mysql停止服务器_从零开始:手把手教你黑客入门攻破服务器并获取ROOT权限...

有许多人对神秘的黑客一直感兴趣,却苦于网上资料繁杂,无法入门,在学黑客之前,你要知道什么是黑客,黑客就是那些对计算机有着强烈探索欲的人,一个真正的黑客,必须要至少掌握一门编程技术和熟悉系…

堆排序不稳定的例子_【译】Python中的堆排序

作者:Olivera Popović翻译:老齐介绍堆排序是高效排序算法的另一个例子,它的主要优点是,无论输入数据如何,它的最坏情况运行时间都是O(n*logn)。顾名思义,堆排序在很大程度上依赖于堆数据结构——优先级队列…

安卓手机备份_安卓手机数据备份与恢复方法汇总和操作详解

世界那么大,谢谢你来看我!!关注我你就是个网络、电脑、手机小达人每次使用电脑时,我们都会自觉的将重要的文件保存好并且备份起来防止丢失。那同样的,我们在使用手机时,也要养成手机备份的好习惯。今天就来…

mysql索引的使用及优化方法_MySQL中索引和优化的用法总结

1、什么是数据库中的索引?索引有什么作用?引入索引的目的是为了加快查询速度。如果数据量很大,大的查询要从硬盘加载数据到内存当中。2、InnoDB中的索引原理是怎么样的?InnoDB是MySQL的默认存储引擎,InnoDB有两种索引:…

苹果屏幕上的小圆点_苹果或明年部署miniLED屏幕 最早用在Macbook上

中关村在线消息:苹果将举行WWDC 2020开发者大会即将召开,昨日,业内人士手机晶片达人透露:“苹果明年即将在Macbook上与iPad导入Mini LED产品,效果非常非常的好。相关供应链都开始动了起来。”苹果明年即将在Macbook上与…

mysql默认字符集和排序_MySQL字符集和排序规则

MySQL在创建数据库是,需要设置数据库的字符集和排序规则,如图所示:我觉得这里有必要解释下字符集和排序规则这两个概念。字符集说到字符集,需要先提下字符、字符集和字符编码这几个词的含义。字符(Character)是各种文字和符号的总…

图形驱动程序和显卡驱动什么区别_以后你的手机也需要单独安装显卡驱动程序了...

在桌面平台制造商通常会定期发布显卡驱动优化和提高性能,对于多数用户来说安装显卡驱动应该是很平常的事。不过在智能手机方面还不需要安装额外的驱动程序,因为制造商通常会通过每年的安卓系统更新来发布新版驱动。有趣的是从明年开始我们的智能手机也要…

有向加权图 最大弱连通分支_开盘引来大涨,当下股市最大的风险是它?

何为昨天的大涨定性?昨天的大涨,上午的加权量能水平达到了2921亿元,一个非常健康的温和放量状态;下午的加权量能水平快速下降到2242亿元的水平,这是略高于五日均量的量能水平;大幅高开,集合竞价…

axure文本框提示文字_Axure教程:一个中继器实现密码验证

本文给大家介绍用一个中继器实现axure登录时账号密码验证效果,一起来看看~实现效果如下图:工具/原料:账号文本框密码文本框登录按钮中继器记录密码的文本标签(隐藏)提示框(隐藏)验证按钮(隐藏)方法/步骤步骤1设置中继器:新增列acc…

深度学习 autoencoder_笔记:李淼博士-基于模仿学习的机器人抓取与操控

说明:本文是Techbeat平台上李淼博士的讲座:“基于模仿学习的机器人抓取与操控”的总结笔记。原视频:TechBeat - 让AI大有可为​www.techbeat.net视频介绍:近四十年来,研究人员对机器人抓取的研究逐渐深入,涉…

linux临时挂载别的文件目录_linux基础05:linux系统目录有哪些?命令行界面如何切换目录?...

我们安装好linux系统后,linux系统也会像windows系统一样,自动生成很多的文件和目录,这些目录都包含了不同的含义。下面,我们就来介绍一下这些目录都代表着什么?以及,在命令行界面,我们如何在不同…

抽象方法可以有方法体_什么方法可以祛斑?祛斑的方法有哪些?

现在是一个看脸的时代,可能不那么准确,但是也说明了人们对于美好脸蛋的追求。完美的脸蛋必定是光滑白皙没有瑕疵的,而有了色斑就会损害整个人的颜值。祛斑的方法有哪些?若是您正深受长斑的烦恼,小编专门寻找了一些简单有效的祛斑…