分页: 1 / 1

问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 15:42
lry_conan
我最近使用gedit编写程序,
在gedit中有一个变量叫做$GEDIT_CURRENT_DOCUMENT_PATH
可以获取当前编辑的文件的目录以及文件名

例如用c++写HelloWorld
$GEDIT_CURRENT_DOCUMENT_PATH=/home/lry/HelloWorld.cpp

为了使用g++ -o来命名
我们需要把该变量名变成 /home/lry/HelloWorld

看到网上有人使用了这种方法

g++ $GEDIT_CURRENT_DOCUMENT_PATH -o ${GEDIT_CURRENT_DOCUMENT_PATH%.*}

对于上例${GEDIT_CURRENT_DOCUMENT_PATH%.*}= /home/lry/HelloWorld

的确成功了,但是我不明白

${GEDIT_CURRENT_DOCUMENT_PATH%.*}
的具体含义是什么

在shell脚本中%.*是什么意思 或者分别是什么意思??
望高手解答。谢谢。

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 15:46
xiooli

代码: 全选

xiooli(~)>> a="hh.ll.gg"
xiooli(~)<< echo ${a%.*}
hh.ll
xiooli(~)>> echo ${a/.*}
hh
xiooli(~)<<
看看这个就明白了。

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 15:48
lry_conan
大体就是找到一个'.'
然后
还是不太明白……能详解一下吗?

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 16:55
HuntXu
贪婪和懒惰...
嗯...是这么叫没错...

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 17:09
xiooli
HuntXu 写了:贪婪和懒惰...
嗯...是这么叫没错...
这个应该是从前面开始还是从后面开始的分别哦。

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 18:17
greco
xiooli 写了:
HuntXu 写了:贪婪和懒惰...
嗯...是这么叫没错...
这个应该是从前面开始还是从后面开始的分别哦。
他说的是正则的说法

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 18:47
cnkilior
子串提取!

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 18:54
xiooli
greco 写了:
xiooli 写了:
HuntXu 写了:贪婪和懒惰...
嗯...是这么叫没错...
这个应该是从前面开始还是从后面开始的分别哦。
他说的是正则的说法
我知道,但是这两个都是属于懒惰的阿,贪婪的应该是这么写的:

${a//.*}和${a%%.*}

Re: 问关于SHELL中一个变量的问题[望高手帮忙解答]

发表于 : 2009-03-29 20:00
HuntXu
停...
我出来承认错误...