这个shell脚本将做什么? 为什么我们在这里使用“: ([^]*)正在做什么 我的头在干什么?因为我在head手册页中没有找到任何“l”选项
1这个shell脚本将做什么? 为什么我们在这里使用“: ([^]*)正在做什么 我的头在干什么?因为我在head手册页中没有找到任何“l”选项,shell,unix,Shell,Unix,1manexpr将告诉您STRING:REGEXP,这意味着字符串中REGEXP的锚定模式匹配 2 regexp\([^]*\)将匹配字符串,如xxx[^]表示除空格以外的任何字符。*表示重复任何时间,包括零次。\(和\)表示显示匹配的字符串。如果没有它们,结果将显示regexp匹配的位置 3.我还是觉得有点不对劲l在这里没有意义。它应该是1是1而不是l?这将是1(一)而不是l,它提取给定文件的第一行。head给出的提取行是“Create Table ne_GLOBAL”(,他们在第二行中所做的
manexpr
将告诉您STRING:REGEXP
,这意味着字符串中REGEXP的锚定模式匹配
2 regexp\([^]*\)
将匹配字符串,如xxx
<代码>[^]表示除空格以外的任何字符。*
表示重复任何时间,包括零次。\(
和\)
表示显示匹配的字符串。如果没有它们,结果将显示regexp匹配的位置
3.我还是觉得有点不对劲<代码>l在这里没有意义。它应该是
1
是1
而不是l
?这将是1(一)而不是l,它提取给定文件的第一行。head给出的提取行是“Create Table ne_GLOBAL”(,他们在第二行中所做的是,它是一(1),我很困惑,THX在第二集的“claProductVersion”中会出现什么line@user1160090第一行代码将amSqlCre中的第一行文本分配给calProductVersion
,并尝试使用类似expr的“创建表ne\U全局”(“:”创建表\([^]*\)(“
在shell中。这将帮助您了解发生了什么。是的,我得到了答案,它将包含ne_GLOBAL
claProductVersion=`head -l ${amSqlCre}`
claProductVersion=`expr "${claProductVersion}" : 'Create Table \([^ ]*\) ('`