sh脚本语法 ?(sh脚本里怎样用正则表达式)

本文目录
sh脚本里怎样用正则表达式
sh脚本里可以调用sed,awk,grep,perl之类的命令来使用正则表达式。
如果是bash 3.0脚本,支持进程内的正则表达式,使用下面的语法:
if
then
echo The regex matches!
echo $BASH_REMATCH -- outputs: foobarbletch
echo ${BASH_REMATCH} -- outputs: bar
echo ${BASH_REMATCH} -- outputs: etch
fi
使用这个语法的性能要比生成一个新的进程来运行grep命令优越,因为正则表达式匹配在bash进程内完成。如果正则表达式或者字符串包括空格或者shell 关键字,(诸如’*’或者’?’),就需要用引号包裹。
写了一个sh脚本,执行的时候出现如下语法错误,怎么解决
------解决方案--------------------
done《《 (find $path -type f -print)
这样用比较奇怪吧,先把结果保存到一个文件,再重定向试试。
------解决方案--------------------
《《需要的是文件描述符
要想将find $path -type f -print结果read,使用for line in $(find $path -type f -print);do xxxx;done
------解决方案--------------------
正解
for line in `find $path -type f -printf`
do
XXX
done
sh中关于if的用法
month=`date +%m`
echo $month
if
then
echo hahahhaha
sqlplus idp/ido001@psidp
@/data/users/osa/psidp/test.sql
fi
楼主,我已经测试了,判断部分没有问题了,你写的格式有错误,注意:“[”和变量之间一定要空一格!!

更多文章:
blast premier春季赛(csgo战队vitality有谁)
2026年9月7日 21:50
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00




