shell脚本一篇入门

shell

执行方法

  • 方法一:. 脚本文件路径 chmod +x first.sh ./1.sh
  • 方法二:sh 脚本文件路径 sh 1.sh
  • 方法三:source 脚本文件路径 source 1.sh

格式

脚本声明
注释信息
可执行语句

wc  -l    1.txt		//显示文件名
wc  -l   0<  1.txt		//不显示文件名(0只是序号可以不加)
cat  0< 1.txt  1>  3.txt	//读取1.txt的内容写入3.txt
useradd   zhang3       //创建用户zhang3
echo “123> /tmp/pass.txt      //写入123到/tmp/pass.txt
passwd  --stdin  zhang3   <  pass.txt    //修改用户zhang3的密码,来自读取pass.txt

awk命令

$2代表第二个字段
在这里插入图片描述

  • 参数: -F 可以指定符号( . : ; 等等)
    在这里插入图片描述

变量

定义变量

  • 变量名=变量值
a=123

调用变量

变量名开头加$ echo $a 显示123

  • 参数
双引号:允许通过$符号引用其他变量值   b=”111 $a”
单引号:禁止引用其他变量值,$视为普通字符  c=‘test $b’
反撇号:命令替换,提取命令执行后的输出结果  d=`which useradd`
  • 全局变量(export)
    在这里插入图片描述
  • 运算(expr)
expr  变量1   运算符  变量2  [运算符 变量3] ...
+-   乘 \*/   求模(取余)运算 % 

在这里插入图片描述

  • 特殊变量
预定义变量
$#:命令行中位置变量的个数
$*:所有位置变量的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:当前执行的进程/程序名

小脚本

利用脚本进行算法

[root@localhost ~]# vim abc.sh
添加;
#!/bin/bash
a=5
b=10
sum=`expr $a +  $b`
echo "$a + $b = $sum"
[root@localhost ~]# sh abc.sh
5 + 10 = 15

利用脚本修改IP地址

编辑 vim IP.sh

#!/bin/bash
read -p "输入网卡接口名称:" ens
read -p "输入IP地址:" ip
read -p "输入子网掩码:" mask
read -p "输入网关地址:" route
read -p "输入首选DNS地址:" dns

ifc="/etc/sysconfig/network-scripts/ifcfg-"

echo "DEVICE=$ens" > $ifc$ens
echo "TYPE=Ethernet" >> $ifc$ens
echo "BOOTPROTO=static" >> $ifc$ens
echo "ONBOOT=yes" >> $ifc$ens
echo "IPADDR=$ip" >> $ifc$ens
echo "NETMASK=$mask" >> $ifc$ens
echo "GATEWAY=$route" >> $ifc$ens
echo "DNS1=$dns" >> $ifc$ens

systemctl restart network

接下来执行 IP.sh 即可快速修改IP地址

Linux学习文章Linux基本操作

今天也要加油啊,为了自己的梦,你有多努力,就有多幸运
在这里插入图片描述
大家有什么疑问欢迎私信或者评论,作者都会为大家一一解答的

猜你喜欢

转载自blog.csdn.net/m0_50744953/article/details/110765861