+ -
当前位置:首页 → 问答吧 → shell 执行出错,大家帮看看

shell 执行出错,大家帮看看

时间:2011-12-09

来源:互联网

书中介绍命令替换有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.

请问是这种老的方法被去除了吗?

作者: 7rack   发布时间: 2011-12-09

你是不是把`打成了'

作者: 枫叶饭团   发布时间: 2011-12-09

tab键上面那个, 不是单引号

作者: tenzu   发布时间: 2011-12-09

枫叶饭团 写道:
你是不是把`打成了'

我一直以为是单引号,原来不是的

最后由 7rack 编辑于 2011-12-09 16:14,总共编辑了 1 次

作者: 7rack   发布时间: 2011-12-09

tenzu 写道:
tab键上面那个, 不是单引号

哦哦,原来是这个啊,我一直以为是单引号呢 ,我说怎么运行copy的脚本行,自己输入就不行呢

作者: 7rack   发布时间: 2011-12-09

这叫替换。。。。那我误解了。
${i##xxx}才叫替换吧。

作者: eexpress   发布时间: 2011-12-09

我说单引号是保护所有的字符不被翻译,怎么可能这样呢,是我没注意

作者: 7rack   发布时间: 2011-12-09

eexpress 写道:
这叫替换。。。。那我误解了。
${i##xxx}才叫替换吧。

代码:
${i##xxx}
这是在当前shell中执行,而
代码:
$(i##xxx)
在子shell中执行的.应该是这么解释的吧

作者: 7rack   发布时间: 2011-12-09