Chinaunix首页 | 论坛 | 博客
  • 博客访问: 317063
  • 博文数量: 122
  • 博客积分: 1395
  • 博客等级: 中尉
  • 技术积分: 1340
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-03 20:40
个人简介

智者,既能奋发不休,又能尽人事,顺天命

文章分类

全部博文(122)

文章存档

2014年(39)

2013年(46)

2012年(12)

2011年(3)

2010年(20)

2009年(2)

我的朋友

分类:

2010-03-22 14:23:29

:命令不做任何事,只是返回0,就是命令执行成功。但是下面这个情况有点奇怪:

var变量没有被设置,执行

: <

${var?}

eof

会报错,$?的值是1.

查了一下手册,同时写进脚本中执行了一下,搞清楚了:

:命令会把变量展开并执行重定向操作,然后返回0并退出。当var变量没有被赋值,${var?}会有报错,但不是命令执行错误,而是变量展开错误。执行下面这个脚本看得会更清楚:


#!/bin/sh
: <<eof
${var?}
eof
echo hello

运行起来会报错,但没有执行echo语句,就是说脚本根本就没有运行,更像是语法检查出有错误,给出的错误提示也很像语法错误提示。
阅读(725) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~