当前位置: 技术问答>linux和unix
linux 中{} 和()有怎么样的区别
来源: 互联网 发布时间:2016-09-08
本文导语: 一个很简单的问题,本人初学 看了这个shell: read -p filename date_D=$(date +%Y%m%d) file=${filename}${date_D} 这样是没有问题的 但是把上面的改成:file=$(filename}${date_D} 就有问题:filename command not find 请高人解释一下 ...
一个很简单的问题,本人初学
看了这个shell:
read -p filename
date_D=$(date +%Y%m%d)
file=${filename}${date_D}
这样是没有问题的
但是把上面的改成:file=$(filename}${date_D}
就有问题:filename command not find
请高人解释一下
看了这个shell:
read -p filename
date_D=$(date +%Y%m%d)
file=${filename}${date_D}
这样是没有问题的
但是把上面的改成:file=$(filename}${date_D}
就有问题:filename command not find
请高人解释一下
|
十三问早有讲解
http://bbs.chinaunix.net/viewthread.php?tid=218853&extra=&page=6#pid1595135
http://bbs.chinaunix.net/viewthread.php?tid=218853&extra=&page=6#pid1595135
|
当然是不同的
${parameter} -- 参数展开(Parameter Expansion), 返回参数的值
比如:
$(command) -- 同下
`command` -- 命令替换(Command Substitution), 返回命令的输出
举例说明
${parameter} -- 参数展开(Parameter Expansion), 返回参数的值
比如:
$(command) -- 同下
`command` -- 命令替换(Command Substitution), 返回命令的输出
举例说明
foo=date
echo ${foo}
echo $foo
echo $($foo)
echo `$foo`
echo `foo`
echo $(foo)
|
其中的最后两个语句,应该会显示类似如下的错误
bash(6): foo: not found
bash(7): foo: not found
bash(6): foo: not found
bash(7): foo: not found
|
俺这里的输出如下:
$ if [ 0 ]; then
> foo=date
> echo ${foo}
> echo $foo
> echo $($foo)
> echo `$foo`
> echo `foo`
> echo $(foo)
> fi
date
date
Wed Jul 7 14:03:56 BEIST 2010
Wed Jul 7 14:03:56 BEIST 2010
ksh[7]: foo: not found
ksh[8]: foo: not found
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。