bash 命令替换的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
7rack
帖子: 96
注册时间: 2011-08-17 22:49

bash 命令替换的问题

#1

帖子 7rack » 2011-12-09 16:02

书中介绍命令替换有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.
请问是这种老的方法被去除了吗?
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: bash 命令替换的问题

#2

帖子 枫叶饭团 » 2011-12-09 16:07

你是不是把`打成了'
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

Re: bash 命令替换的问题

#3

帖子 tenzu » 2011-12-09 16:07

tab键上面那个, 不是单引号
头像
7rack
帖子: 96
注册时间: 2011-08-17 22:49

Re: bash 命令替换的问题

#4

帖子 7rack » 2011-12-09 16:11

枫叶饭团 写了:你是不是把`打成了'
我一直以为是单引号,原来不是的 :em06
上次由 7rack 在 2011-12-09 16:14,总共编辑 1 次。
头像
7rack
帖子: 96
注册时间: 2011-08-17 22:49

Re: bash 命令替换的问题

#5

帖子 7rack » 2011-12-09 16:13

tenzu 写了:tab键上面那个, 不是单引号
哦哦,原来是这个啊,我一直以为是单引号呢 :em06 ,我说怎么运行copy的脚本行,自己输入就不行呢 :em03
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: bash 命令替换的问题

#6

帖子 eexpress » 2011-12-09 16:15

这叫替换。。。。那我误解了。
${i##xxx}才叫替换吧。
● 鸣学
头像
7rack
帖子: 96
注册时间: 2011-08-17 22:49

Re: bash 命令替换的问题

#7

帖子 7rack » 2011-12-09 16:21

我说单引号是保护所有的字符不被翻译,怎么可能这样呢,是我没注意 :em20
头像
7rack
帖子: 96
注册时间: 2011-08-17 22:49

Re: bash 命令替换的问题

#8

帖子 7rack » 2011-12-09 16:23

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

代码: 全选

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

代码: 全选

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