- 字符串包含 类似in
#!/bin/bash
function1(){
abcd="1234"
}
function1 &&
a='34'
if [[ $abcd == *$a* ]]
then
echo "包含"
else
echo "不包含"
fi
whoami | grep -qE 'kog2|kog1'
$? # 返回为0包含 1或其他不包含
- 占位符/截取字符串/字符串操作
a="abcd"
b="123412"
c="$a$b"
echo $c # abcd123412
echo ${c:1:3} # 截取字符串c从第2个 连续截取3个
echo ${b/12/KK} # 将第一个12替换为KK
echo ${b//12/KK} # 将所有12替换为KK
echo ${#b} # 获取到字符串长度 不存在即为0
- 数组
A=(a b c def) # 定义字符数组
命令 解释 结果
${A[*]} 返回所有 a b c def
${A[0]} 返回数组第一个元素 a
${#A[*]} 长度 4
${#A[3]} 返回第四个元素的长度,即def的长度 3
A[3]=xzy 则是将第四个组数重新定义为 xyz
- 文件判断
if [ -d "/data/" ];then
echo "文件夹存在"
else
echo "文件夹不存在"
fi
# 以下为常用参数
-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新 [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧 [ "/data/file1" -ot "/data/file2" ]