脚本shell

本文详细介绍了Shell脚本的基础知识,包括查看系统解释器、安装新的解释器、修改历史命令数量、清除历史记录,以及bash支持的功能。还讨论了Shell脚本的编写规范和执行方式,如使用source命令与不开启子进程执行的区别。此外,文章通过实例展示了如何编写自动配置yum仓库和安装ftp服务的脚本,并讲解了变量的使用,包括自定义变量和系统变量。最后,提到了如何收集脚本执行时的信息提示,并讨论了字符串处理的不同方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cat /etc/shells //显示系统所有解释器
进入desktop虚拟机
yum -y install ksh //安装新解释器
vim /etc/profile //修改HISTSIZE=10决定能保存的历史命令数量

.bash_history //清空历史记录文件
sh ksh

bash支持的功能
快捷键 tab 历史记录 别名 重定向 管道

编写shell规范
1,声明解释器 #!/bin/bash
2,脚本功能注释, #此脚本的作用、使用场所、作者等
3,脚本内容,要执行的指令

脚本的执行方式:
1,添加x权限
2,使用bash之类的解释器读取脚本文件,比如bash test1 或者sh test1,新开启子进程(解释器)
3,使用source命令读取脚本文件,比如source test1
source可以省略为 . 不开启子进程(解释器)
可以使用2个脚本验证
#!/bin/bash //使用bash运行不会有进入123目录的效果
mkdir /opt/123 source运行会有
cd /opt/123

#!/bin/bash //使用bash运行不会有任何反映,source运exit 行会退出当前终端

写一个自动配置yum仓库的脚本:
#!/bin/bash
rm -rf /etc/yum.repos.d/*.repo
echo ‘[abc]
name=abc
baseurl=ftp://172.25.254.250/rhel7 //真机yum源
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/abc.repo

classroom的光盘共享,可以做网络yum源
http://172.25.0.254/content/rhel7.0/x86_64/dvd/

增加安装ftp服务(vsftpd)的需求,安装好之后开启服务,且每次开机自动运行ftp服务

yum -y install vsftpd &> /dev/null //安装ftp服务,并将不需要的信息扔掉
systemctl restart vsftpd
systemctl enable vsftpd

systemctl status vsftpd //最后手工查看ftp服务状态

变量:
1,自定义变量,使用大小写字母,数字,下划线,不能以数字开头,不能使用特殊符号
2,系统变量 ,包含环境变量,预定义变量,位置变量,大部分是系统已经定义好的,直接使用

环境变量: PWD当前位置 USER当前用户名 HOSTNAME主机名 SHELL当前用户的解释器 HOME当前用户的家目录 UID当前用户的UID号 PATH系统命令所在地 PS1一级提示符 PS2二级提示符
例:查看当前位置使用 echo $PWD

$* 显示所有位置变量的值
$# 统计位置变量的个数
$$ 当前程序的进程号
$? 上一条指令的执行结果,0是正确,非0是异常

写一个脚本,可以创建abc账户并配置密码123
#!/bin/bash
useradd abc
echo 123 | passwd --stdin abc

改良版:使用位置变量增加脚本灵活度
#!/bin/bash
useradd $1
echo $2 | passwd --stdin $1

如何收集添加账户时的信息提示
#!/bin/bash
useradd $1 &>> /opt/no.txt //将提示信息重定向到文本中
echo $2 | passwd --stdin $1

单引号:用来界定范围,可以屏蔽特殊符号的作用
双引号:用来界定范围
反撇号 $(): 取命令执行的结果

#!/bin/bash
read -p “请输入账户名” u
stty -echo
read -p “请输入密码” p
stty echo
useradd $u &>> /opt/no.txt
echo $p | passwd --stdin $u

stty -echo 关闭回显
stty echo 恢复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值