内置命令
echo 命令
[root@localhost mnt]# echo "蜜雪冰城\n甜蜜蜜"
蜜雪冰城\n甜蜜蜜
[root@localhost mnt]# echo -e "蜜雪冰城\n甜蜜蜜"
蜜雪冰城
甜蜜蜜
[root@localhost mnt]#
eval命令
exec命令
不创建子进程,执行后续命令,且执行完毕后自动exit
[root@localhost mnt]# su - jay
Last login: Wed Apr 19 16:30:54 CST 2023 on pts/1
[jay@localhost ~]$ exec pwd
/home/jay
[root@localhost mnt]#
shell子串的用法
${变量} 返回变量值
${#变量} 返回变量长度,字符长度
${变量:start} 返回变量start数值之后的字符,且包含start
${变量:start:length} 提取start之后的length限制的字符 c
[root@localhost mnt]# cat demo3.sh
#!/bin/bash
name='周杰伦jaychou'
echo ${#name}
echo ${name:3}
echo ${name:3:1}
[root@localhost mnt]# ./demo3.sh
10
jaychou
j
${变量#word} 从变量开头删除最短匹配的word字符
${变量##word} 从变量开头,删除最长匹配的word
${变量%word} 从变量结尾删除最短的word
${变量%%word} 从变量结尾开始删除最长匹配的word
替换
${变量/pattern/string} 用string代替第一个匹配的paten
${变量//pattern/string} 用string代替所有的patten
特殊shell扩展变量
变量得处理
这4个扩展变量,都属于对变量的值进行判断处理
删除文件夹 [root@localhost opt]# find ${dir_path:=/opt/} -name 'jay' -type d -mtime +7|xargs rm -rf