shell脚本的坑

shell脚本的坑

最近在项目上需要用到java去调脚本执行sqlldr命令
记录碰到的坑
坑1: 中文乱码问题
例如:

 # 获取当前日期和传进来的参数, 并创建相应的文件夹
ls_date=`date +%Y%m%d`

这种情况下有可能导致乱码, 下面的ls_date不能正确定义

坑2: 脚本调用传值问题
脚本调脚本的时候有个传值问题, 一直传不进去, 后面在脚本里面加上单引号就好了

坑3: 空格问题
好像是&&符号还是if的[]符号, 两边没加空格导致报错

坑4: java执行脚本报错

the input device is not a TTY

原因是脚本里面执行docker exec -it 2l34j5l32j /bin/bash -c ’ ’
-it这个参数, 因为是程序调用, 没有终端设备导致的

发布了1 篇原创文章 · 获赞 2 · 访问量 18

猜你喜欢

转载自blog.csdn.net/zack_zz/article/details/105227247