执行shell脚本遇到 ksh not found的有关问题
执行shell脚本遇到 ksh not found的问题
网上查了资料,说是环境变量的原因。
$ env
_=/usr/bin/env
LANG=en_US
LOGIN=oracle
SSH_TTY=/dev/pts/2
CLCMD_PASSTHRU=1
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.
LC__FASTMSG=true
LOGNAME=oracle
MAIL=/usr/spool/mail/oracle
LOCPATH=/usr/lib/nls/loc
USER=oracle
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
HOME=/home/oracle
SSH_CONNECTION=192.168.40.22 50604 192.168.102.28 22
SSH_CLIENT=192.168.40.22 50604 22
TERM=xterm
MAILMSG=[YOU HAVE NEW MAIL]
PWD=/home/oracle/scripts
TZ=Asia/Hong_Kong
A__z=! LOGNAME
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
$ chmod a+x Client_stock_holdings_for_CCM.sh
$ ./Client_stock_holdings_for_CCM.sh
ksh: ./Client_stock_holdings_for_CCM.sh: not found.
发现SHELL对应的变量为/usr/bin/ksh,而我写的脚本却是#! /bin/sh
至此找的了问题所在!
所以将sh文件头改为/usr/bin/ksh重新上传到linux上执行即可。