Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
嗨我有一个小脚本(脚本名称是:test1.sh),看起来像这样
PRG=$0 data=`expr $PRG : '.*\/.*'` echo $data
当我运行它时,我看到输出为
10
我无法理解脚本第二行中写的正则表达式。那意味着什么?
从
如果匹配成功 `:' 表达式返回字符数 匹配。
所以10很可能
./test1.sh ^^^^^^^^^^ |||||||||| \ 123456789 10
/如果脚本 ( ) 的相对文件名中有 a ,则表达式返回非零值$0 in sh。如果像这样执行脚本:sh ../../script.sh,它会输出 15,这是“../../script.sh”的总长度。它与“../../”'.*\/匹配并script.sh与该.*部分匹配。
/
$0 in sh
sh ../../script.sh
'.*\/
script.sh
.*