编写shell脚本实现select
时间: 2024-01-16 15:44:10 浏览: 31
下面是一个简单的 shell 脚本实现 select 功能的示例:
```shell
#!/bin/bash
options=("Option 1" "Option 2" "Option 3" "Quit")
select opt in "${options[@]}"
do
case $opt in
"Option 1")
echo "You chose Option 1"
;;
"Option 2")
echo "You chose Option 2"
;;
"Option 3")
echo "You chose Option 3"
;;
"Quit")
break
;;
*)
echo "Invalid option"
;;
esac
done
```
运行该脚本后,会显示一个菜单,让用户选择一个选项。用户输入对应的数字,该选项的相应操作将被执行。如果用户选择 "Quit",则脚本将退出。如果用户输入了无效的选项,将会显示 "Invalid option"。
相关问题
编写shell脚本实现自动化运维
为了实现自动化运维,可以编写shell脚本来调用SQL语句,以下是一个简单的例子:
```shell
#!/bin/bash
# 定义变量
MYSQL_USER="root"
MYSQL_PASSWORD="password"
MYSQL_HOST="localhost"
MYSQL_PORT="3306"
MYSQL_DATABASE="test"
# 执行SQL语句
mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P${MYSQL_PORT} -D${MYSQL_DATABASE} -e "SELECT * FROM users;"
# 执行完毕
echo "SQL query executed successfully."
```
在这个例子中,我们定义了MySQL的用户名、密码、主机、端口和数据库名等变量,并使用`mysql`命令执行了一个简单的SQL查询语句。你可以根据自己的需求修改这个脚本,例如添加备份和恢复功能等。
另外,为了实现自动化运维,你还可以编写shell脚本来定期执行一些任务,例如清理缓存、备份数据库等。以下是一个简单的例子:
```shell
#!/bin/bash
# 定义变量
MEMORY_THRESHOLD=70
LOG_FILE="/var/log/freeMemoryLog.txt"
# 检查内存使用率
MEMORY_USAGE=$(free | awk '/Mem/{printf("%.2f"), $3/$2*100}')
# 如果内存使用率超过阈值,则释放缓存
if [ $(echo "${MEMORY_USAGE} > ${MEMORY_THRESHOLD}" | bc -l) -eq 1 ]; then
sync && echo 3 > /proc/sys/vm/drop_caches
echo "$(date) - Memory usage is ${MEMORY_USAGE}%, cache cleared." >> ${LOG_FILE}
else
echo "$(date) - Memory usage is ${MEMORY_USAGE}%, no action taken." >> ${LOG_FILE}
fi
# 执行完毕
echo "Script executed successfully."
```
在这个例子中,我们定义了一个内存使用率的阈值和日志文件的路径,并使用`free`命令检查当前内存使用率。如果内存使用率超过阈值,则使用`sync`命令同步缓存并使用`echo`命令将3写入`/proc/sys/vm/drop_caches`文件中以释放缓存。最后,我们将执行结果写入日志文件中。
编写Shell脚本实现如下菜单界面select Menu exit Edit file Date Calc
可以为您提供以下的Shell脚本,实现所述的菜单界面:
```
#!/bin/bash
# 循环显示菜单界面
while true; do
echo "select Menu - 1"
echo "exit - 2"
echo "Edit file - 3"
echo "Date - 4"
echo "Calc - 5"
# 提示用户输入选项
read -p "Please enter your choice: " choice
# 根据用户选择执行相应的操作,或退出程序
case $choice in
1)
echo "You selected Menu"
;;
2)
echo "You selected exit"
exit 0
;;
3)
echo "You selected Edit file"
read -p "Please enter file name: " filename
# 打开编辑器编辑指定文件
vim $filename
;;
4)
echo "You selected Date"
# 显示当前时间和日期
date +"%F %T"
;;
5)
echo "You selected Calc"
# 进入计算器模式,支持加减乘除、余数、次方等运算
bc -l
;;
*)
echo "Invalid choice, please try again."
;;
esac
done
```
注意:本脚本仅支持 Linux/Unix 操作系统使用,并且需要在终端中运行。如需将脚本保存为文件,需在命令行中使用 `chmod +x filename.sh` 命令将其设为可执行文件。