LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 879|回复: 2

看ABS碰到的问题,请大家帮忙

[复制链接]
发表于 2008-4-2 08:14:39 | 显示全部楼层 |阅读模式
刚开始学SHELL,看ABS的中文版,看到4.2节时碰到了下到的一个例子,执行后结果与书中讲解的不一致,请大家帮忙解释一下,先谢过啦。

   1 #!/bin/bash
   2
   3 a=23              # 简单的情况
   4 echo $a
   5 b=$a
   6 echo $b
   7
   8 # 现在,来一点奇怪的赋值(命令替换)
   9
  10 a=`echo Hello!`   # 把'echo'命令的结果赋值给变量'a'
  11 echo $a
  12 #  注意在一个#+的命令替换结构中包含一个感叹号(!),
  13 #+ 将不会工作。
  14 #+ 因为感叹号触发了Bash"历史命令机制"
  15 #  不过,在脚本里,历史命令机制是被禁用的.
  16
  17 a=`ls -l`         # 把'ls -l'命令的结果赋给变量'a'
  18 echo $a           # 如果没有引号,则会删除多余tab键和空白符
  19 echo
  20 echo "$a"         # 加了双引号,则能够原样保留空白符
  21                   # (参考"引用"章节)
  22
  23 exit 0
发表于 2008-4-2 09:47:38 | 显示全部楼层
`不是',,是ESC下面,1左面的那个,尽量用$()来替代``吧,反正我只是在C语言调用shell里面遇到过只能用``而不能用$()的情况,不然很多人都会弄错。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-2 10:27:12 | 显示全部楼层
谢谢LS!我再试试!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表