简单shell脚本案例
时间: 2023-04-27 19:02:07 浏览: 73
以下是一个简单的shell脚本案例:
#!/bin/bash
#这是一个简单的shell脚本
echo "请输入你的名字:"
read name
echo "你好,$name!欢迎使用本脚本。"
echo "请输入一个数字:"
read num
if [ $num -gt 10 ]; then
echo "你输入的数字大于10。"
else
echo "你输入的数字小于等于10。"
fi
echo "脚本执行完毕。"
这个脚本会提示用户输入名字和数字,然后根据数字的大小输出不同的信息。如果数字大于10,输出“你输入的数字大于10。”,否则输出“你输入的数字小于等于10。”。最后输出“脚本执行完毕。”的信息。
相关问题
交互式shell脚本案例
以下是一个交互式shell脚本案例,使用expect编写,可以实现自动登录远程服务器并执行命令:
```expect
#!/usr/bin/expect
# 定义变量
set host "your_host"
set user "your_username"
set password "your_password"
set command "your_command"
# 登录远程服务器
spawn ssh $user@$host
# 匹配密码提示并发送密码
expect {
"password:" {
send "$password\r"
}
}
# 执行命令
expect {
"$user@" {
send "$command\r"
}
}
# 退出远程服务器
expect {
"$user@" {
send "exit\r"
}
}
```
该脚本首先定义了需要登录的远程服务器的主机名、用户名、密码和需要执行的命令。然后使用spawn命令登录远程服务器,匹配密码提示并发送密码,执行命令,最后退出远程服务器。
运维常用shell脚本案例
运维常用的shell脚本案例有很多,以下是其中几个常见的案例:
1. 批量创建用户账号:使用循环结构和命令行工具,可以编写一个脚本来批量创建用户账号。比如,使用`useradd`命令创建用户,然后使用`passwd`命令设置用户密码。脚本如下所示:
```
#!/bin/bash
for i in `seq 1 50`
do
useradd -G student student$i
echo student$i | passwd student$i --stdin
done
```
2. 文件转移和备份:使用脚本可以实现将指定目录下大于一定大小的文件转移到另一个目录下。比如,使用`ls`命令列出目录下的文件,然后使用`mv`命令将符合条件的文件移动到另一个目录。脚本如下所示:
```
#!/bin/bash
for FILE in `ls /usr/local/test`
do
if [ -f $FILE ] ; then
if [ `ls -l $FILE | awk '{print $5}'` -gt 100000 ] ; then
mv $FILE /tmp/
fi
fi
done
```
3. 定期备份文件:使用脚本可以实现定期备份指定目录下的文件,并按照一定的命名规则存放备份文件。比如,使用`cp`命令复制文件,然后使用`date`命令获取当前日期,最后使用`tar`命令将文件打包成压缩文件。脚本如下所示:
```
#!/bin/bash
BACKUP_DIR="/root/bak"
DATE=$(date +"%y%m%d")
tar -czvf $BACKUP_DIR/$DATE_etc.tar.gz /etc
```
这些案例只是运维中常见的一部分,运维人员还可以根据具体需求编写其他的shell脚本来实现不同的功能。