分页: 1 / 1

bash 命令替换的问题

发表于 : 2011-12-09 16:02
7rack
书中介绍命令替换有2中方法

代码: 全选

'linux command'

代码: 全选

$(linux command)
可是我的第一种方法不行,例如

代码: 全选

$echo "the directory is 'pwd'."
the directory is 'pwd'.
版本是

代码: 全选

$ bash --version
GNU bash, 版本 4.1.5(1)-release (i686-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
请问是这种老的方法被去除了吗?

Re: bash 命令替换的问题

发表于 : 2011-12-09 16:07
枫叶饭团
你是不是把`打成了'

Re: bash 命令替换的问题

发表于 : 2011-12-09 16:07
tenzu
tab键上面那个, 不是单引号

Re: bash 命令替换的问题

发表于 : 2011-12-09 16:11
7rack
枫叶饭团 写了:你是不是把`打成了'
我一直以为是单引号,原来不是的 :em06

Re: bash 命令替换的问题

发表于 : 2011-12-09 16:13
7rack
tenzu 写了:tab键上面那个, 不是单引号
哦哦,原来是这个啊,我一直以为是单引号呢 :em06 ,我说怎么运行copy的脚本行,自己输入就不行呢 :em03

Re: bash 命令替换的问题

发表于 : 2011-12-09 16:15
eexpress
这叫替换。。。。那我误解了。
${i##xxx}才叫替换吧。

Re: bash 命令替换的问题

发表于 : 2011-12-09 16:21
7rack
我说单引号是保护所有的字符不被翻译,怎么可能这样呢,是我没注意 :em20

Re: bash 命令替换的问题

发表于 : 2011-12-09 16:23
7rack
eexpress 写了:这叫替换。。。。那我误解了。
${i##xxx}才叫替换吧。

代码: 全选

${i##xxx}
这是在当前shell中执行,而

代码: 全选

$(i##xxx)
在子shell中执行的.应该是这么解释的吧