shell脚本学习

1.shell脚本中变量的含义

$0:正在执行的程序的名称

$1:执行脚本后输入的第一个参数

$2:执行脚本后输入的第二个参数

$?:上一条语句是否正确,如果正确则值为0

$*:执行脚本后输入的所有参数

$#:执行脚本后输入的参数的个数

$PWD:当前目录

$UID:当前用户的id

2.shell脚本输出各种颜色的字符串

#字体色范围:30-37 
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"
#字背景颜色范围:40-47 
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;30m 红底黑字 \033[0m"
echo -e "\033[42;34m 绿底蓝字 \033[0m"
echo -e "\033[43;34m 黄底蓝字 \033[0m"
echo -e "\033[44;30m 蓝底黑字 \033[0m"
echo -e "\033[45;30m 紫底黑字 \033[0m"
echo -e "\033[46;30m 天蓝底黑字 \033[0m"
echo -e "\033[47;34m 白底蓝字 \033[0m"
#控制选项说明 
#\033[0m 关闭所有属性 
#\033[1m 设置高亮度 
#\033[4m 下划线 
echo -e "\033[4;31m 下划线红字 \033[0m"
#闪烁 
echo -e "\033[5;34m 红字在闪烁 \033[0m"
#反影 
echo -e "\033[8m 消隐 \033[0m "
#\033[30m-\033[37m 设置前景色 
#\033[40m-\033[47m 设置背景色 
#\033[nA光标上移n行 
#\033[nB光标下移n行 
echo -e "\033[4A 光标上移4行 \033[0m"
#\033[nC光标右移n行 
#\033[nD光标左移n行 
#\033[y;xH设置光标位置 
#\033[2J清屏 
#\033[K清除从光标到行尾的内容 
echo -e "\033[K 清除光标到行尾的内容 \033[0m"
#\033[s 保存光标位置 
#\033[u 恢复光标位置 
#\033[?25| 隐藏光标 
#\033[?25h 显示光标 
echo -e "\033[?25l 隐藏光标 \033[0m"
echo -e "\033[?25h 显示光标 \033[0m"

3.IF判断逻辑运算符解析

-f  : 判断文件是否存在。if[-f  fileName]

-d : 判断文件夹是否存在。if[-d  dir]

-z : 判断是否为空字符串

-a : 与(and)

-o : 或(or)
在这里给大家分享一个我练习时遇到的一个特别特别特别蛋疼的一个问题

举个例子
#!/bin/bash
DIR=/wxh/ld/456
if[ ! -d $DIR ]
then
	mkdir -p $DIR
	echo "mkdir ok"
else
	echo "ok"
fi
这段代码看起来貌似没什么问题,但是,就是不能执行,他会给你报一些莫名奇妙的错误,例如:
./if.sh:行3: if[ ! -d /wxh/ld/456 ]: 没有那个文件或目录
./if.sh:行4: 未预期的符号 `then' 附近有语法错误
./if.sh:行4: `then'
后来,我去查看别人的代码,终于发现了一个极小的差别
if 后面没有跟空格,正确的需要在if后面加个空格,改完之后就正确了,真的很蛋疼。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值