LinuxSir.cn,穿越时空的Linuxsir!

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

几个关于shell的弱弱的问题,请大家帮忙

[复制链接]
发表于 2006-6-21 20:28:40 | 显示全部楼层 |阅读模式
  • [color="Navy"]这句echo看不懂:  
          echo -e '\\'"\b\c"
         为什么和 echo -e "\\\b\c"的输出不一样呢?
  • [color="Navy"]条件测试的语法,我看的那本教程写的是
         if [ -s somefile ]
          为什么有的书里写 [[ -s somefile ]] 还有 (( -s somefile  ))
  • [color="Navy"]学习shell关键的地方是不是sed&awk,能不能推荐几本好书?


[color="Red"]我是shell的初学者,请大家指点一下,谢谢!
发表于 2006-6-22 16:17:50 | 显示全部楼层
1.     '\\' 单引号里不转义      
2.      [     是一命令,与test 相当  [[    还是 [ [ ?        ((????
3.      O'Reilly & Associates, sed & awk
机械有其书的中译本
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-22 17:42:32 | 显示全部楼层
比如下面的这句话:
if (( $? != 0 ))
if [[ $1 = "-v" ]]

与普通的 if [ expression ] 又有什么区别呢?
回复 支持 反对

使用道具 举报

发表于 2006-6-22 20:03:41 | 显示全部楼层
我记得 (( 可以用作计算
比如
i=0
i=(( $i + 1 ))
至于if (( $? != 0 )) 我没看到过 ,请问你看到的是那个版本的shell?
if [[ $1 = "-v" ]]  # [ 与 [ 之间有空格吗?
若有空格你可以把中间一成理解为  test 语句
现在机子有问题,用的是windows在上网
不然可以试试了
回复 支持 反对

使用道具 举报

发表于 2006-6-23 01:23:19 | 显示全部楼层
1. Pls see echo manpage. It explains -e and \b \c very clearly.
2. [[ ]] has better compatibility than [ ], such as you can use &&, || >, < in [[ ]] but not [ ]. (( )) uses for testing numeric values and see if the expr returns 0 or 1.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-23 09:52:26 | 显示全部楼层
多谢楼上兄弟指点
不过,第一题我没说明白,我的问题是:
为什么不把 "\\" 和 “\b\c” 写到一块呀,非得分开写?

请帮忙指点一下了,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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