shell脚本

1、检查shell脚本语法
bash -n orabak.sh
2、颜色
#!/bin/bash
#by lhl
 
clear
echo "字体颜色"
#字体颜色范围:40—–47
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
echo "背景颜色"
#字背景颜色范围:40—–47
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"
 
#让字体变为红色并且不停的闪烁
echo -e "\033[31m \033[05m 闪烁 \033[0m"
 
3、乘法表
#!/bin/bash
for a in $( seq 1 9 )
do
for b in $( seq 1 9 )
do
if [ $a -ge $b ];then
echo -en "$a x $b = $((a*b)) "
fi
done
echo " "
done
 
echo
4、shell参数练习
#!/bin/bash
#define path variables
# by lhl 20160712
#引用局部变量
a=123
echo "$a"
#引用系统自定义变量
echo $pwd
echo $0
echo $1
#以后的代码全部上颜色
echo -e '\033[32m--------------------------\033[1m'
#引用系统自带变量
echo "the \$1 is $1"
echo "the \$2 is $2"
echo "the \$? is $?"
echo "the \$# is $#"
echo "the \$* is $*"
#一行代码上颜色
echo -e '\033[32m--------------------------\033[0m'
#if语句比较数字大小
num1=300
num2=200
 
if (($num1>$num2)); then
echo "the $num1 great $num2"
 
fi
 
if (($num1>$1)); then
echo "the $num1 大于 $1"
else echo "the $num1 小于 $1"
fi
#逻辑运算符 shell自带参数
# -f 判断文件是否存在
# -d 判断,目录是否存在
# -eq 等于 整型比较
# -ne 不等于
# -lt 小于
# -gt 大于
# -le 小于或等于
# -ge 大于或等于
# -a 双方都成立 逻辑表达式 -a 逻辑表达式
# -o 单位成立 逻辑表达式 -o 逻辑表达式
# -z 空字符串 是否为空
# ! 反义词
# 判断目录是否存在 如果不存在创建 如果存在退出
#dir=/root/1
#if [ ! -d $dir ];then
# mkdir -p $dir
# echo -e "\033[32m 目录创建完成\033[0m"
#else
# rmdir -p $dir
# echo -e "\033[32m 目录已经删除\033[0m"
#fi
#/bin/bash -n 1_shell.sh 判断脚本是否有错误
#判断文件是否存在 不存在创建 存在追加内容
#files=2
#if [ ! -f $files ];then
# echo "ok" >> $files
#else
# cat $files
#fi
#多个if判断
 
a=$1
 
if [ -z $a ];then
echo "没有分数"
exit
fi
if [[ $a -gt 85 ]];then
echo "very good";
elif [[ $a -gt 75 ]];then
echo "good";
elif [[ $a -gt 60 ]];then
echo "pass"
else
echo "差劲";
fi
#输出当前日期 echo `date +%y%m%d`
# && 第一个命令执行成功之后执行第二个命令 ;分号是第一个语句执行成功与否都执行第二个语句
posted @ 2017-06-27 14:47  披着凉皮的狼  阅读(172)  评论(0编辑  收藏  举报