Shell知识库

【重定向】

# 重定向日志到文件并输出到屏幕
./bootstrap_box_full.sh 2>&1 | tee "install-$(date "+%F %T.%N")".log
#导出所有操作日志到文件,标准输出和标准错误均重定向到文件
exec 1>/root/kickstart-stage2-chroot.log 2>&1

【while的坑】

# while循环中read无效,需要指定一个终端
read ip < /dev/tty

【常用常坑】

#脚本中使用alias,需要单独声明
shopt -s expand_aliases

【模板】

#多行原样输出
cat<<EOF
line1
line2
line3
EOF

#获取随机数
echo $RANDOM | md5sum #输出连续字符串,结尾有一个短横线-
cat /proc/sys/kernel/random/uuid #连续字符串中间有短横线-

#数组定义
array($(ls))

#sed技巧
sed 's/^\n/&\n/g' #其中“^”表示非,上例中表示:不是\n的字符;其中“&”表示原来的内容

#删除空行
grep -v '^$' file > file #找出file中非空行内容重定向到file中,相当于删除了空行


#输出带色
rmsg() { echo -e "\e[1;31m$*\e[0m"; } #输出红色
gmsg() { echo -e "\e[1;32m$*\e[0m"; } #输出绿色
bmsg() { echo -e "\033[34;49m$*\033[0m"; } #输出蓝色

#命令行参数$@ 和 $*

 


 

 

 

posted @ 2020-12-28 20:23  三人行必有我师娘  阅读(79)  评论(0)    收藏  举报