you never doubt youself,I belive!
shell 函数返回值 & 特殊字符含义
上一篇 /
下一篇 2011-03-13 22:03:43
/ 个人分类:测试基础知识
1、Shell函数返回值
·定义shell函数(define function)
[ function ] funname[()]
{
action;
[return int;]
}
memo:1.也可以直接fun()定义2.返回参数,可以加return;如果不加,将以最后一条命令运行结果,作为返回值。
[实践]
#! /bin/sh
fSum 2,4;
function fSum()
{
echo $1,$2
return $(($1+$2));
}
fSum 5 7;
total=$(fSum 3 2);
echo $total,$?;
memo:
命令里面获得参数方法可以通过:$0…$n得到。$0代表函数本身。
$?系统变量:shell获得命令返回值,都需要通过$?获得
·echo
·全局变量:declare –I g_ret,在function的返回值存储在全局变量中。调用处在函数执行完后,使用就可以。
#! /bin/sh
declare –I g_ret=0
varCntGlobeVar()
{
var=$1
if[“$var” != “”]; then
g_ret=${#var}
fi
}
main()
{
varCntGlobeVar “1234”
printf “varCntGlobeVar’s ‘s return value is %d ” $g_ret
}
2、shell特殊字符的含义
符号 | 含义 |
$ | shell变量名的开始,如$var |
$- | 使用set及执行时传递给shell的标志位 |
$! | 最有一个子进程的PID |
$# | 传递给shell script的参数个数 |
$* | 传递给shell script的参数 |
$@ | 所有参数,个别的用双引号括起来 |
$? | 上一个命令的返回代码 |
$0 | 当前shell的名字 |
$n | (n:1-)位置参数 |
$$ | 进程标示号(Process Identifier Number,PID) |
| | 管道,讲标准输出转到下一个命令的标准输入 |
& | 后台执行一个进程 |
>file | 输出重定向 |
<file | 输入重定向 |
>>file | 输出重定向,追加(append) |
`command` | 命令切换,如filename=`basename /usr/local/bin/tcsh` |
Memo: ls * |cpio –o > filename.txt
收藏
举报
TAG: