4、在Shell程序中的使用变量
学习目标
变量的赋值
变量的访问
变量的输入
12-4-1 变量的赋值
在Shell编程中,所有的变量名都由字符串组成,并且不需要对变量进行声明。要赋值给一个变量,其格式如下:变量名=值。
注意:
等号(=)前后没有空格
例如:
   x=6
   a=”How are you ”
表示把6赋值给变量x,字符串“How are you ”赋值给变量a。
12-4-2 访问变量值
如果要访问变量值,可以在变量前面加一个美元符号“$”,例如:
ubuntu@ubuntu:~$ a="How are you  "
ubuntu@ubuntu:~$ echo "He just said:$a"
He just said:How are you 
ubuntu@ubuntu:~$
一个变量给另一个变量赋值可以写成:变量2=$变量1。
例如:x=$i,i++可以写成:i=$i+1
12-4-3 键盘读入变量值
在Shell程序设计中,变量的值可以作为字符串从键盘读入,其格式为: read 变量
例如:
ubuntu@ubuntu:~$ read str
read为读入命令,它表示从键盘读入字符串到str。
实例:编写一个Shell程序test3,程序执行时从键盘读入一个目录名,然后显示这个目录下所有文件的信息。
分析:存放目录的变量为DIRECTORY,其读入语句为:read DIRECTORY,显示文件的信息命令为:ls –a 。
ubuntu@ubuntu:/home/study$ vi test3
#! /bin/sh
echo "please input name of directory"
read DIRECTORY
cd $DIRECTORY
ls -l
ubuntu@ubuntu:/home/study$ chmod +x test3
ubuntu@ubuntu:/home/study$ ./test3
please input name of directory
/home #输入路径时需“/”
实例:运行程序test4,从键盘读入x、y的值,然后做加法运算,最后输出结果。
#! /bin/sh
echo "please input x y"
read x y
echo $x $y
z=`expr $x + $y`
echo "The sum is $z"
注意:
read x y –>多个变量之间用空格隔开,切忌用逗号(,)
z=`expr $x + $y`
1)、expr ‘+’ 两边有空格
2)、倒引号,表示在被引用的内容要做运算
4、在Shell程序中的使用变量的更多相关文章
- 学习Shell脚本编程(第4期)_在Shell程序中的使用变量
		变量的赋值 变量的访问 变量的输入 4.1 变量的赋值 在Shell编程中,所有的变量名都由字符串组成,并且不需要对变量进行声明.要赋值给一个变量,其格式如下: 变量名=值 注意: 等号(= ... 
- 学习Shell脚本编程(第3期)_在Shell程序中使用的参数
		位置参数 内部参数 如同ls命令可以接受目录等作为它的参数一样,在Shell编程时同样可以使用参数.Shell程序中的参数分为位置参数和内部参数等. 3.1 位置参数 由系统提供的参数称为位置参数.位 ... 
- 3、在Shell程序中使用的参数
		学习目标位置参数内部参数 如同ls命令可以接受目录等作为它的参数一样,在Shell编程时同样可以使用参数.Shell程序中的参数分为位置参数和内部参数等. 12-3-1 位置参数由系统提供的参数称为位 ... 
- shell脚本中特定符合变量的含义
		shell脚本中特定符合变量的含义: $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$ 脚本运行的当前进程PID号 ... 
- python 程序中设置环境变量
		python 中调用系统命令有三种方法: 1.os.system('command') ,这个方法是直接调用标准C的system() 函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 ... 
- shell脚本中一些特殊变量
		在shell脚本中,一些常见的特殊变量表示方式还是需要知道的 如下就是一些经常用到的特殊变量表示方法: $0 当前脚本名$1 $2... 传入脚本or函数的参数(大于10需大括号括起来)$ ... 
- shell脚本中定义路径变量出现的BUG
		=========================================================================== if 语句中的定义路径变量 引发命令的PATH路 ... 
- Linux shell awk中print及变量使用
		Linux处理文本工具 grep: 过滤文本内容 sed: 编辑文本内容 awk: 显示文本 awk: Aho Peter Weinberger Kerni ... 
- shell中的环境变量:local,global,export
		1.local一般用于局部变量声明,多在在函数内部使用.实例如下: echo_start() { local STR="$1" echo "...... ${ ... 
随机推荐
- 17、Semantic-UI之分页插件
			在很多的前端开发框架中都会有提供分页插件,但是分页插件的使用如果手动编写还是比较复杂的.使用Semantic-UI中的分页插件更加简单方便.分页插件的使用必须要和后台结合. 示例:定义分页插件 & ... 
- VC:GetWindowRect、GetClientRect、ScreenToClient与ClientToScreen
			GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置. GetClientRect取得窗口客户区(不包括非客 ... 
- [数学趣味001]RSA算法原理及示例
			可以先看看这个视频: RSA_Encryption_Algorithm 公开密钥 Perwork: 私钥:Sender和Receiver预先约定加密和解密方案,向其他人保密. 这个实现比较难:向其他人 ... 
- Linq to SQL 中将数字转换为字符串
			使用LINQ to Entities中的SqlFunctions调用数据库中的函数 添加引用System.Data.Entity 引用命名空间 using System.Data.Objects.Sq ... 
- easyui引入
			<% String path = request.getContextPath()+"/"; out.println("<link href='"+ ... 
- Python短路原则
			1.括号内逻辑先执行 2.and优先级大于or 3.and一假为假 4.or一真为真 and:如果左边为假,返回左边值.如果左边不为假,返回右边值. or:如果左边为真,返回左边值.如果左边不为真,返 ... 
- BOI2007 Mokia | cdq分治求二维点数模板
			题目链接:戳我 也没什么,其实主要就是为了存一个求二维坐标上矩形内点的个数的模板.为了之后咕咕咕地复习使用 不过需要注意的一点是,树状数组传x的时候可千万不要传0了!要不然会一直死循环的...qwqw ... 
- 配合前端开发,调试前端页面bug
			同事开发的H5页面 在iOS10.1的手机上会有bug 先下载ios10.1的模拟器,安装到xcode上,注意给电脑腾出足够的空间 https://stackoverflow.com/questio ... 
- kali linux之应用层Dos
			应用层服务漏洞: 服务代码存在漏洞,遇异常提交数据时程序崩溃 应用处理大量并发请求能力有限,被拒绝的是应用或OS 缓冲区溢出漏洞: 向目标函数随机提交数据,特定情况下数据覆盖临近寄存器或内存 影响:远 ... 
- 解决方法:配置群集时# gem install redis 报错:Unable to require openssl, install OpenSSL and rebuild ruby
			问题:前面已经在/usr/local/src安装了ruby-2.3.0.tar.gz.rubygems-2.4.2.tar.gz.在配置 redis-3.1.1 群集中,使用gem install 安 ... 
