各种Unix环境对ksh的影响(1)

(1) IBM对$0的支持:
IBM机器不支持函数中使用$0代替函数名,它的$0总是代表sh文件的名字,所以不能使用$0来代表函数名.
(2) SUN对awk的支持:
awk的-v可以将shell中的变量传入到awk内部变量,但是SUN的awk不一定支持这个语法,如果要确保支持本语法,可以使用
/usr/xpg4/bin/awk -v key="$key_name" -v value="$svalue"
要注意两点:1.路径 2.-v和变量之间有空格(普通awk没有空格)
(3) SUN对grep的支持:
grep –E 的扩展支持在SUN下必须使用:
/usr/xpg4/bin/grep -E 'Archive| [0-9][0-9]:[0-9][0-9]:[0-9][0-9] '

(4) ~的使用
一般使用~iinscu即可得到iinscu的home目录.但是当把iinscu保存在变量中时,如 user_name=”iinscu”, 无法使用 ~$user_name得到iinscu的home路径.可以使用:
eval “home=~$user_name”
或者使用$user_name在/etc/passwd中查找:
home=`cat /etc/passwd | grep “^${user_name}:” | awk ‘{print $6 }’`
(5) su 某个用户并执行某个sh,输出到/dev/null中.
如 su – informix –c “ls -l >/dev/null 2>&1 “ >/dev/null 2>&1
在sh,csh下会出错,需要指定为ksh
su – infomix –c “ ksh =-c \” ls –l >/dev/null 2>&1 \” “>/dev/null 2>&1
在csh下可能会提示你 “不匹配, 需要将当前sh改成ksh.脚本中需要指定为ksh.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值