shell编程
Posted XIKE-S
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程相关的知识,希望对你有一定的参考价值。
编写第一个shell脚本
chmod +x first.sh 设置权限
sh first.sh 启动权限
重定向操作 标准输入、标准输出、标准错误
[root@localhost ~]# uname -p > kernel.txt
[root@localhost ~]# cat kernel.txt
x86_64
[root@localhost ~]#
[root@localhost ~]# vim pass.txt //添加初始密码串内容"123456"
[root@localhost
~]# cat pass.txt
123456
[root@localhost
~]#
前提:关闭防火墙和安全linux
管道操作
df -hT | grep "/$" | awk print $6
提取/分区中,上例中 awk 命令的作用是以冒号“:”作为分隔,输出第 6个区域的字符串
提取/分区中,上例中 awk 命令的作用是以冒号“:”作为分隔,输出第1和和第 6个区域的字符串
提取/dev分区中,上例中 awk 命令的作用是以冒号“:”作为分隔,输出第一个和第 6个区域的字符串
Shell 变量的作用、类型
[root@localhost ~]# echo $product2.5 变量product2.5 并未定义
.5
[root@localhost
~]# echo $product2.5
Python2.5
变量赋值的特殊操作
双引号(”)
[root@localhost ~]#
PYTHON=Python 2.7.13 错误的赋值
bash:
2.7.13: 未找到命令...
[root@localhost ~]#
PYTHON="Python 2.7.13" 正确的赋值
[root@localhost
~]# echo $PYTHON
Python
2.7.13
[root@localhost ~]# SQLServer="SQLServer $Version" 以变量的值进行赋值
[root@localhost
~]# echo $SQLServer
SQLServer
2.7.13
单引号(‘)
[root@localhost ~]# SQLServer=SQLServer $Version //$符号不能再引用变量
[root@localhost ~]# echo $SQLServer //原样输出字符串
SQLServer
$Version
反撇号(`)
[root@localhost
~]# ls -lh `which useradd`
-rwxr-x---.
1 root root 116K 10月 31 2018 /usr/sbin/useradd
[root@localhost
~]# read -p "请输入你的名字:" ss
请输入你的名字:ss
设置变量的作用范围
[root@localhost
~]# echo "$Product $Version" //查看当前定义的变量值
Python 2.7.13
[root@localhost
~]# bash //进入子 Shell 环境
[root@localhost
~]# echo "$Product $Version" //无法调用父 Shell 环境中的变量
[root@localhost
~]# exit //返回原有的 Shell 环境
[root@localhost
~]# echo "$Product $Version" //查看当前定义的变量值
Python
2.7.13
[root@localhost
~]# export Product Version
//将 Product、Version 设为全局变量
[root@localhost
~]# bash //进入子 Shell 环境
[root@localhost
~]# echo "$Product $Version"
Python
2.7.13 //可以调用父 Shell 的全局变量
[root@localhost
~]# exit //返回原有的 Shell 环境
使用 export
导出全局变量的同时,也可以为变量进行赋值,这样在新定义全局变量时
就不需要提前进行赋值了。例如,执行以下操作可以直接新建一个名为
FQDN 的全局变量。
[root@localhost
~]# export FQDN="www.jb-aptech.com.cn"
[root@localhost
~]# echo $FQDN
数值变量的运算
其中,变量 1、变量
2„„对应为需要计算的数值变量(需要以“$”符号调用),常用
的几种运算符如下所述。
Ø +:加法运算。
Ø -:减法运算。
Ø
\\*:乘法运算,注意不能仅使用“*”符号,否则将被当成文件通配符。
Ø /:除法运算。
Ø
%:求模运算,又称为取余运算,用来计算数值相除后的余数。
以下操作设置了
X(值为 35)、Y(值为 16)两个变量,并依次演示了变量 X、Y 的加、
减、乘、除、取模运算结果
[root@localhost
~]# X=35
[root@localhost
~]# Y=16
[root@localhost
~]# expr $X + $Y
51
[root@localhost
~]# expr $X - $Y
19
[root@localhost
~]# expr $X \\* $Y
560
[root@localhost
~]# expr $X / $Y
2
[root@localhost
~]# expr $X % $Y
3
若要将运算结果赋值给其他变量,可以结合命令替换操作(使用反撇号)。例如,计算
变量 Y 的 3
次方,并将结果赋值给变量 Ycube。
[root@localhost
~]# Ycube=`expr $Y \\* $Y \\* $Y`
[root@localhost
~]# echo $Ycube
4096
以上是关于shell编程的主要内容,如果未能解决你的问题,请参考以下文章