练习:判断当前Linux发行版是RedHat, Fedora, CentOS还是其它。

方法:取得/etc/issue文件第一行的第一个单词后进行比较;



bash如何与用户交互:bash内置命令, read

-p "prompt":提示信息

-t #: 超时秒数

例子:

#!/bin/bash

#


read -p "Do you agree [yes|no]?: " YesNo


case $YesNo in

y|Y|[Yy]es)

echo "Agreed, proceed." ;;

n|N|[nN]o)

echo "Disagreed, can't proceed." ;;

*)

echo "Invalid input." ;;

esac

例子:写一个脚本

1、显示如下菜单给用户:

m|M) show memory usages;

d|D) show disk usages;

q|Q) quit

2、如果用户选择了第一项,则显示内存使用信息;

如果选择了第二项,则显示磁盘挂载及使用相关信息;

如果是第三项,退出,并显示选择退出;

其它任何内容,均说明错误选项;


#!/bin/bash

cat << EOF

m|M) show memory usages;

d|D) show disk usages;

q|Q) quit

EOF


read -p "Your choice: " Choice


case $Choice in

m|M)

free -m ;;

d|D)

df -lh ;;

q|Q)

echo "Quit..."

exit 0

;;

*)

echo "Invalid input."

exit 5

;;

esac


blog comments powered by Disqus

Published

31 October 2013

Tags