1.移动光标位置
tput cup x y
- 休眠指令
sleep number[suffix]
suffix可以为 d, h, m, s,默认为s,分别表示day,hour,minute,second.,
3. 显示时间
date
- 命令替换(执行子命令,用子命令的标准输出作为替换)
使用$(CMD)
或者`CMD` - 建立软连接(创建符号链接,类似于windows的快捷方式)
ln -s src dest #建立软连接
ln src dest #建立硬链接
- 创建目录
makedir dirname # 在当前目录下创建目录
makedir -p dirname1/dirname2 # 不论dirname1存在与否都能创建
$0
,$1
,$2
,分别表示当前文件名,命令行第一个参数,命令行第二个参数;$#
表示命令行参数的个数,不包括$0
dirname
返回p的父文件夹
dirname p #p是相对路径,则以相对路径的形式返回p所在的目录,so as to 绝对目录.
- 分号,若一行内有多个代码块,则需要使用分号进行代码块结束的标记
if [ cond ]
do something
else
do something
fi
# 或者
if [ cond ] ; do something
else; do something ; fi
- 条件中的数字比较符号
-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于
case
表达式
case X in
X1)
echo X1
;;
X2)
echo X2
;;
X3)
echo X3
;;
*)
echo X4
;;
esac
echo -e '\n'
- 字符串操作
a. 获取字符串长度
${#VAR}
b. 子串
${VAR: offset:length} # offset可以为负数
如果没有:length
,表示从offset
一直到结尾
c. 使用read
指令对字符串进行切割
IFS=';' read -ra my_array <<< "$my_string" # ;为分割符号,-r表示不进行转义,a表示array形式,<<< 就是将后面的内容作为前面命令的标准输入