shell 调试 2例
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.
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
相关文章
- [android]8大android调试工具-monkey,jdb,ddms等
- VS2008 ActiveX(ocx控件)的调试工具ActiveX Control Test Container安装说明
- 快速编译运行Java文件,便于调试
- Linux Shell脚本自动化编程实战- shell并发
- 【SHELL 编程基础第二部分】SHELL里的流程控制、SHELL里的函数及脚本调试方法!
- bash 教程-4 shell 脚本 调试 环境 [MD]
- adb调试小计
- Shell - 简明Shell入门15 - 调试(Debug)
- 【BSP视频教程】STM32H7视频教程第8期:MDK专题最后一期,新一代调试技术Event Recorder和RTT,并用STM32CubeMX生成工程模板(2022-02-27)
- Visual studio 2017 中的Javascript智能提示与调试
- 51. 如何使用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合应用
- 如何关闭SAP ICF调试
- 关于 SAP Spartacus Shell App 客户应用的调试
- 在 SAP 电商云 Spartacus UI 里使用自定义配置控制 UI 调试的开关
- Atitt php script lan debug bp 最佳实践调试php目录1.1. Error_log 11.2. Echo vs log法 11.3. 输出与debug信息昏药问题
- 用Visual Studio Code调试nodejs
- 关于 SAP Spartacus Shell App 客户应用的调试
- Angular依赖注入的一个例子和注入原理单步调试
- 【gdb调试】通过具体程序代码了解gdb调试命令
- Shell:Lite OS在线调试工具知多少
- 云小课|手把手教您在PyCharm中连接云端资源进行代码调试
- tomcat 远程调试
- [shell]Shell经常使用特殊符号
- 【Linux之Shell脚本实战】猜拳小游戏shell脚本
- 新功能速递:Visual Studio Code中的C++调试
- shell - 01 - Shell入门:扎好马步 走的更稳
- shell - 08 - Shell文本处理三剑客 - sed -编辑命令详解