今天执行脚本aix_xunjian.sh的时候遇到问题
[dacp1][/export/home]#ls -l
total 72
-rwxr-xr-x 1 root sys 2372 Feb 22 09:17 aix_xunjian.sh
drwxr-sr-x 5 dacp cin 1024 Jan 17 16:57 dacp
drwxr-sr-x 2 dacpdb cin 512 Dec 20 2007 dacpdb
drwxr-sr-x 8 dacpoam cin 512 Feb 22 09:00 dacpoam
drwxrwx--x 2 root system 512 Nov 20 2007 lost+found
drwxr-sr-x 2 pdscp staff 512 Dec 11 15:22 pdscp
-rwxr-xr-x 1 dacp cin 195 Dec 19 2007 smit.log
drwxr-sr-x 3 tabmnt1 informix 512 Nov 04 14:46 tabmnt1
drwxr-sr-x 3 tabmnt2 informix 512 Jul 28 2010 tabmnt2
[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/
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22821701/viewspace-687672/ ,如需转载,请注明出处,否则将追究法律责任。