- 首页 > 生活百科 > >
yum list | grep xx:查询yum服务器是否有需要安装的软件yum install xx:安装指定的yum包yum -y remove xx:卸载指定的yum包shell编程
- vim hello.sh
#!/bin/bash(zsh)echo "helloworld!"
- 脚本的常用执行方式
- 方式一:输入脚本的绝对路径或相对路径,需要先赋予hello.sh脚本的x权限,sudo chmod u+x hello.sh
- 方式二:(sh + 脚本)说明:不用赋予脚本+x权限,直接执行比如 sh hello.sh
- Shell的变量
变量分为:系统变量和用户自定义变量
- 系统变量:$HOME、$PWD、$SHELL、$USER等等,比如echo $HOME等等
- 显示当前shell中所有变量:set
shell变量的定义
- 定义变量:变量名=值
- 撤销变量:unset 变量
- 声明静态变量:readonly变量,注意:不能unset
案例
- 定义变量A
vim var.sh
#!/bin/bash(zsh)A=100echo $A# ./var.sh--100echo A=$A# ./var.sh--A=100echo "A=$A"# ./var.sh--A=100
- 撤销变量
unset A
- 声明静态变量
readonly B=2# 还可以 declare -r B 声明为只读变量echo "B=$B"#unset B--不可以unset B#显示行号:nu
shell变量命名规则
- 变量名称可以由字母、数字、下划线组成,但是不能以数字开头
- 等号两侧不能有空格
- 变量名称一般习惯大写
将命令的返回值赋给变量
A=`date`#反引号,运行里面的命令,并把结果返回给变量AA=$(date)#等价于反引号
- 设置环境变量
export 变量名=变量值#功能描述:将shell变量输出为环境变量/全局变量source 配置文件#功能描述:让修改后的配置信息立即生效echo $变量名#功能描述:查询环境变量的值
- 快速入门
#1.在/etc/profile文件中定义TOMCAT_HOME环境变量tomcat位于/opt/文件目录下vim /etc/profileexport TOMCAT_HOME=/opt/tomcatsourse /etc/profile#2.查看环境变量的值echo $TOMCAT_HOME#3.在另外一个shell程序中使用TOMCAT_HOMEvim var.shecho "tomcat_home=$TOMCAT_HOME":<<!多行注释!
- 位置参数变量
当我们执行一个shell脚本时 , 如果希望获取到命令行的参数信息,就可以使用到未知参数变量
- 基本语法
- $n(功能描述:n为数字,$0代表目录本身,$1-$9代表第一到第九个参数 , 十以上的参数需要用大括号包含 , 如${10})
- $*(功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
- $@(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
- $#(功能描述:这个变量代表命令行中所有参数的个数)(不限于9个 , 但统计数量时不包含作为第一个参数的Shell文件名)
- 案例:
编写一个shell脚本 , position.sh , 在脚本中获取到命令行的各个参数信息
- 预定义变量
就是shell设计者事先已经定义好的变量 , 可以直接在shell脚本中使用
- 基本语法
- $$ (功能描述:当前进程的进程号(PID))
- $! (功能描述:后台运行的最后一个进程的进程号(PID))
- $?(功能描述:最后一次执行的命令的返回状态 。如果这个变量的值为0 , 证明上一个命令正确执行;如果这个变量的值非0 , 则证明上一个命令执行不正确了)
- $-用于得到当前Shell(用set)设置的执行标识名组成的字符串
- 运算符
- 基本语法
- "$((运算式))"或"$[运算式]"或者expr m + n//expression 表达式
- 注意expr运算符间要有空格 , 如果希望将expr的结果赋给某个变量,使用``
- expr m - n
- expr \*,/,%乘,除,取模
- 实例
- 计算(2+3)*4的值
vim operator.sh#!bin/bash#第一种方式:RES1=$(((2+3)*4))echo "res1=$RES1"#第二种方式RES2=$[(2+3)*4]echo "res2=$RES2"#推荐使用#第三种方式TEMP=`expr 2 + 3`#注意要用空格,否则输出结果为 2+3RES3=`expr $TEMP \* 4`echo "temp=$TEMP"echo "res3=$RES3"
- 求出命令行的两个参数[整数]的和 20 50
SUM=$[$1+$2]echo "sum=$SUM"
然后再命令行输入./operator.sh 20 50--输出结果 sum=70
- 条件判断
- 基本语法
if [ condition ] (注意condition前后要有空格)非空返回true,可使用$?验证(0为true,>1为false)
- 示例
[ abc ]--返回true[] --返回false[ condition ] && echo ok || echo notok条件满足执行后边的语句
推荐阅读
-
2023广交会参观证多少钱办理 2023广交会参观证多少钱?
-
-
-
-
股价跌破净资产怎么看 股票价格跌破净资产是什么情况
-
-
-
-
随身WiFi使用教程 lblink随身wifi怎么用
-
-
-
-
-
-
-
-
广西玉林迪迪校外托管服务有限公司_工商信用信息_经营范围期限状态_法人_地址_注册资本_怎么样
-
-
正婚姻什么意思是什么意思是什么生肖,结婚是代表什么生肖?
-