shell 调试 2例
2024-08-21 03:00:53
1.#############
#!/bin/ksh
if [ ! -z $TNS_ADMIN ]; then
export TNS_ADMIN=`dirname $TNS_ADMIN`
else
export TNS_ADMIN=$ORACLE_HOME/network/admin
fi
echo $TNS_ADMIN
调试过程:
if [ ! -z $TNS_ADMIN ]; then
修改为
if [ ! -z “$TNS_ADMIN” ]; then
ref doc https://www.computing.net/answers/programming/error-test-argument-expected/18951.html
Hi,
When i execute the following script i'm getting test: argument expected error at if [ -z $file ]. Can someone plz advise.
if [ -z $file ]
then
echo " DID NOT ENTER A FILE NAME "
elif [ ! -f $file ]
then
echo " \t File ' $file ' Doesn't Exists In $PWD Directory \n"
else
echo " \t File ' $file ' Exists In $PWD Direcotry \n"
fi
Thanks.
See More: Error : test: argument expected
#1
nails May 7, 2009 at 07:02:57
Your script worked for me with no problems:
#!/bin/ksh read file
if [ -z "$file" ]
then
echo " DID NOT ENTER A FILE NAME "
elif [ ! -f "$file" ]
then
echo " \t File ' $file ' Doesn't Exists In $PWD Directory \n"
else
echo " \t File ' $file ' Exists In $PWD Direcotry \n"
fi BTW, it's always a good idea to include the shell invocation on line 1 of your script. I'd surround $file with double quotes "$file" Have you tried the extended test facility - two brackets instead of 1: #!/bin/ksh read file
if [[ -z $file ]]
then
echo " DID NOT ENTER A FILE NAME "
elif [[ ! -f $file ]]
then 2.############# #!/bin/ksh set -x export ORACLE_BASE=/opt/oracle11g
export HOME=/home/oracle
export ORACLE_HOME=/opt/oracle11g/product/11.1.0 env LSNRLOG=`/opt/oracle11g/product/11.1.0/bin/lsnrctl <<EOF
set current_listener yesinuat
show trc_directory
EOF`
echo "Listener Log File: $LSNRLOG" LSNRLOG=`/opt/oracle11g/product/11.1.0/bin/lsnrctl <<EOF | grep trc_directory | awk '{print $6"/"$1".log"}'
set current_listener yesinuat
show trc_directory
EOF`
echo "Listener Log File: $LSNRLOG" 调试过程: crontab 在调用过程中,只有如下环境变量
PATH=/usr/bin:/usr/sbin:.
LOGNAME=oracle
SHELL=/usr/bin/sh
HOME=/home/oracle
PWD=/home/oracle
TZ=EAT-8 所以需要在你的shell脚本开始加上
##################
. /etc/profile
export ORACLE_BASE=/opt/oracle11g
export HOME=/home/oracle
export ORACLE_HOME=/opt/oracle11g/product/11.1.0
################## 3。###################### man test
最新文章
- 使用代理下载Unity AssetStore上资源的方法
- 8.1 消息通信 EventBus
- TCP/IP之四书五经[转自2003.12程序员]
- Velocity模板引擎语法
- Python 基礎 - 字符編碼
- Linux就这个范儿 第9章 特种文件系统
- angularjs2 学习笔记(二) 组件
- Linux下查看文件和文件夹大小的df和du命令
- Regsvr32注册ActiveX控件
- js中的SetTimeOut
- ubuntu 创建eclipse 快捷方式
- [汇编语言]-第八章 div指令,伪指令dd,dup
- oracle 写入txt
- MySQL编译安装错误提示合集
- python 操作python
- log4j2配置ThresholdFilter,让info文件记录error日志
- 微信网页浏览器打开链接后跳转到其他浏览器下载APK文件包
- Oracle FM FM09999999 确保8位数字 即使全是0
- 又是毕业季I
- CSS3实现烟花特效 --web前端