shell脚本
获取随机字符串或数字
获取随机8位字符串
#!/bin/bash #方法1,$RANDOM产生5位随机数,md5sum加密,然后截取8位 echo $RANDOM | md5sum | cut -c 1-8 #方法2 openssl rand -base64 4 #方法3 cat /proc/sys/kernel/random/uuid | cut -c 1-8
运行结果
0240b838 MayR3g== 9467a4cf
获取随机8为数字
#!/bin/bash #方法1,cksum:打印CRC效验和统计字节 echo $RANDOM | cksum | cut -c 1-8 #方法2: openssl rand -base64 4 | cksum|cut -c 1-8 #方法3 date +%N | cut -c 1-8
运行结果
88342984 20663999 49795828
定义一个颜色输出字符串函数
方法1
#!/bin/bash function echo_color(){ if [ $1 == "green" ]; then echo -e "\033[32;40m$2\033[0m" elif [ $1 == red ]; then echo -e "\033[31;40m$2\033[0m" fi } echo_color red "test"
方法2
#!/bin/bash function echo_color(){ case $1 in "green") echo -e "\033[32;40m$2\033[0m";; "red") echo -e "\033[31;40m$2\033[0m";; *) echo "Example:echo_color red string" esac } echo_color red "test"
说明:
echo -e "\033[41;36m something here \033[0m"
其中41的位置代表底色, 36的位置是代表字的颜色
那些ascii code 是对颜色调用的始末.: \033[ ; m …… \033[0m
字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
字颜色:30-----------39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
================ANSI控制码的说明
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \33[37m 设置前景色
\033[40m -- \33[47m 设置背景色
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
创建用户
#!/bin/bash #添加用户,并将错误信息输入到err.log文件中 useradd xudongling 2> /tmp/err.log #设置密码为123456 echo 123456 | passwd --stdin xudonglin &> /dev/null