linux怎么使用ksh执行脚本,执行shell脚本遇到 ksh not found的问题

今天执行脚本aix_xunjian.sh的时候遇到问题

[dacp1][/export/home]#ls -l

total 72

-rwxr-xr-x1 rootsys2372 Feb 22 09:17

aix_xunjian.sh

drwxr-sr-x5 dacpcin1024 Jan 17 16:57

dacp

drwxr-sr-x2 dacpdbcin512 Dec 20 2007dacpdb

drwxr-sr-x8 dacpoamcin512 Feb 22 09:00

dacpoam

drwxrwx--x2 rootsystem512 Nov 20

2007lost+found

drwxr-sr-x2 pdscpstaff512 Dec 11 15:22

pdscp

-rwxr-xr-x1 dacpcin195 Dec 19

2007smit.log

drwxr-sr-x3 tabmnt1informix512 Nov 04 14:46

tabmnt1

drwxr-sr-x3 tabmnt2informix512 Jul 28

2010tabmnt2

[dacp1][/export/home]#oslevel -r

5300-08

[dacp1][/export/home]#./aix_xunjian.sh

ksh: ./aix_xunjian.sh:not found.

网上查了资料,说是环境变量的原因。

dacp1][/]#env

_=/usr/bin/env

LANG=en_US

LOGIN=root

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin

LC__FASTMSG=true

LOGNAME=root

MAIL=/usr/spool/mail/root

LOCPATH=/usr/shdb/nls/loc

USER=root

AUTHSTATE=compat

SHELL=/usr/bin/ksh

DMDIR=/etc/objrepos

HOME=/

TERM=vt100

MAILMSG=[YOU HAVE NEW MAIL]

PWD=/

TZ=BEIST-8

A__z=! LOGNAME

NLSPATH=/usr/shdb/nls/msg/%L/%N:/usr/shdb/nls/msg/%L/%N.cat

发现SHELL对应的变量为/usr/bin/ksh,而我写的脚本却是#!/bin/ksh

至此找的了问题所在!

我在系统用vi把#!/bin/ksh更改为#!/usr/bin/ksh

重新执行#./aix_xunjian.sh发现问题还是发生,not found.

我在本地把脚本更改过之后,重新上传到服务器上执行,问题解决。

疑问:为什么用VI更改过后没用作用呢?

附:#! /bin/ksh

logname=/home/guo/aix_`hostname`_`date +"%y%m%d%H%M"`.txt

echo "1.Filesystem(文件系统磁盘空间占用情况,<80%):" >>$logname

echo "#df -k" >>$logname

df -k >>$logname 2>&1

echo " "

echo "2.VG(卷组 活动卷组 逻辑卷-无stale状态):" >>$logname

echo "#lsvg" >>$logname

lsvg  >>$logname

echo "#lsvg -o" >>$logname

lsvg -o >>$logname

ACVG=`lsvg -o|xargs`

for i in $ACVG

do

echo "#lsvg -l $i" >>$logname

lsvg -l $i >>$logname

done

echo " "

echo "3.Errpt(AIX错误报告):" >>$logname

echo "#errpt" >>$logname

errpt >>$logname 2>&1

echo " "

echo "Errpt(硬件故障):" >>$logname

echo "#errpt -dH" >>$logname

errpt -dH >>$logname 2>&1

echo " "

echo "Errpt(软件故障):" >>$logname

echo "#errpt -dS" >>$logname

errpt -dH >>$logname 2>&1

echo " "

echo "Errpt(指示性信息):" >>$logname

echo "#errpt -dO" >>$logname

errpt -dO >>$logname 2>&1

echo " "

echo "4.CPU,内存,IO:" >>$logname

echo "#vmstat 2 5" >>$logname

vmstat 2 5 >>$logname 2>&1

echo "内存交换空间使用" >>$logname

echo "#lsps -s" >>$logname

lsps -s >>$logname 2>&1

echo "#lsps -a" >>$logname

lsps -a >>$logname 2>&1

echo "#iostat 1 2" >>$logname

iostat 1 2 >>$logname 2>&1

echo " "

echo "5.内存使用情况:" >>$logname

echo "内存使用情况检查" >>$logname

echo "#svmon" >>$logname

svmon >>$logname

echo " "

echo "6.NETWORK:" >>$logname

echo "网卡状态" >>$logname

echo "#netstat -in " >>$logname

netstat -in >>$logname

echo "路由信息" >>$logname

echo "#netstat -rn " >>$logname

netstat -rn >>$logname

echo " "

#echo "7.CORE:" >>$logname

#echo "#find / -name core" >>$logname

#find / -name core >>$logname

#echo " "

echo "8.HACMP CHECK:" >>$logname

echo "HACMP检查" >>$logname

echo "#lssrc -g cluster|sed '1d' " >>$logname

lssrc -g cluster|sed '1d' >>$logname

echo " "

echo "9.DISK检查:" >>$logname

echo "DISK检查" >>$logname

echo "#lsdev -Cc disk " >>$logname

lsdev -Cc disk >>$logname

echo " "

echo "10.MEMORY检查:" >>$logname

echo "MEMORY检查" >>$logname

echo "#lsdev -Cc memory" >>$logname

lsdev -Cc memory >>$logname

echo " "

echo "11.CPU检查:" >>$logname

echo "CPU检查" >>$logname

echo "#lsdev -Cc processor" >>$logname

lsdev -Cc processor >>$logname

echo " "

# now ftp to the log server

#ftp -i -n <

#open 10.0.99.5

#user root vmware

#lcd /home/check

#put $logname

#bye

#EOF

#cd /home/check

#mv $logname /home/check/syslog/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值