当前位置:  技术问答>linux和unix

请大仙们指点---关于linux shell中括号的一点疑问。

    来源: 互联网  发布时间:2016-08-27

    本文导语:  今天在分别执行了下面三段代码: #!/bin/bash nihao_dir=/opt/nihao; if [ ! -d $nihao_dir ] then mkdir -p  $nihao_dir echo "nihao_dir is made" fi #!/bin/bash nihao_dir=/opt/nihao; if [ ! -d $(nihao_dir) ] then mkdir -p  $(nihao_dir) echo "nihao_dir...

今天在分别执行了下面三段代码:
#!/bin/bash

nihao_dir=/opt/nihao;

if [ ! -d $nihao_dir ]
then
mkdir -p  $nihao_dir
echo "nihao_dir is made"
fi

#!/bin/bash

nihao_dir=/opt/nihao;

if [ ! -d $(nihao_dir) ]
then
mkdir -p  $(nihao_dir)
echo "nihao_dir is made"
fi

#!/bin/bash

nihao_dir=/opt/nihao;

if [ ! -d $(nihao_dir) ]
then
mkdir -p  $(nihao_dir)
echo "nihao_dir is made"
fi

1,3段执行的结果是相同,但是2却报错了,然后我就产生一个疑问,shell中什么时候需要用到括号,什么时候的括号是需要用转义的呢?

|
#!/bin/bash

nihao_dir=/opt/nihao;

if [ ! -d $(nihao_dir) ]
then
mkdir -p $(nihao_dir)
echo "nihao_dir is made"
fi
--------------
第二段代码错误 不是因为中括号的问题
$(A) 表示把A当命令执行 类似于反单引号`A` 比如把A执行的结果赋给B 那么B=$(A)和B=`A`都是对的
${A} 才表示引用变量A

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 各位大仙给看看expr错在哪里啦
  • 各位大仙,推荐一下用什么环境或方法开发linux网络应用程序的客户端界面呢?
  • 各位大仙:Applet与Servlet通信,用的是tomcat,抛出安全异常,谢了
  • 在Linux中安裝Oracle Database 10g時切換root帳戶時出現﹕-bash: eth0 commond not found,這是怎么 回事?各位大仙的幫一下
  • 哪位大仙能给解释一下uart_insert_char()函数的用法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3