当前位置:  技术问答>linux和unix

shell转换成dos

    来源: 互联网  发布时间:2016-06-04

    本文导语:  如题,小弟对shell一窍不通,哪位高手能帮我把下面的shell处理转换成dos处理?谢谢! REBUILD_LIST=$1 USERNAME=$2 USERPASS=$3 EXEC_LOG="./index_rebuild_${REBUILD_LIST}_`date +%y%m%d_%H%M%S`.log" if [ ! -f ${REBUILD_LIST} ] then       echo "****** E...

如题,小弟对shell一窍不通,哪位高手能帮我把下面的shell处理转换成dos处理?谢谢!


REBUILD_LIST=$1
USERNAME=$2
USERPASS=$3

EXEC_LOG="./index_rebuild_${REBUILD_LIST}_`date +%y%m%d_%H%M%S`.log"

if [ ! -f ${REBUILD_LIST} ]
then
      echo "****** Error!! Not Index Rebuild list file. ******"
      echo "****** Error!! Not Index Rebuild list file. ******" >>
${EXEC_LOG}
      exit 99
fi

if [ -z ${USERNAME} ]
then
      echo "****** Error!! Oracle username is null!! ******"
      echo "****** Error!! Oracle username is null!! ******" >> ${EXEC_LOG}
      exit 99
fi

if [ -z ${USERPASS} ]
then
      echo "****** Error!! Oracle userpassword is null!! ******"
      echo "****** Error!! Oracle userpassword is null!! ******" >>
${EXEC_LOG}
      exit 99
fi


cat ${REBUILD_LIST} | while read LIST_NAME

do
INDEX_NAME=${LIST_NAME%%:*}
PARTITION_NAME=${LIST_NAME##*:}

if [ ${INDEX_NAME} = ${PARTITION_NAME} ]
then
      PARTITION_NAME=""
fi


if [ -z ${PARTITION_NAME} ]
then
      echo "****** [${INDEX_NAME}] Rebuild start `date +%y%m%d_%H%M%S`
******"
      echo "****** [${INDEX_NAME}] Rebuild start `date +%y%m%d_%H%M%S`
******" >> ${EXEC_LOG}

      sqlplus -L  ${USERNAME}/${USERPASS} @index_rebuild.sql ${INDEX_NAME}
>> ${EXEC_LOG}
      STS=$?
      if [ ${STS} = 0  ]
      then
            echo "****** [${INDEX_NAME}] Index Rebuild COMPLETE!! `date
+%y%m%d_%H%M%S` ******"
            echo "****** [${INDEX_NAME}] Index Rebuild COMPLETE!! `date
+%y%m%d_%H%M%S` ******"   >> ${EXEC_LOG}
      else
            echo "****** Error!! [${INDEX_NAME}] Index Rebuild ERROR!!
`date +%y%m%d_%H%M%S` ******"
            echo "****** Error!! [${INDEX_NAME}] Index Rebuild ERROR!!
`date +%y%m%d_%H%M%S` ******"   >> ${EXEC_LOG}
#           exit 99
      fi
else
      echo "****** [${INDEX_NAME}:${PARTITION_NAME}] Rebuild start `date
+%y%m%d_%H%M%S` ******"
      echo "****** [${INDEX_NAME}:${PARTITION_NAME}] Rebuild start `date
+%y%m%d_%H%M%S` ******" >> ${EXEC_LOG}
      sqlplus -L  ${USERNAME}/${USERPASS} @index_rebuild_partition.sql
${INDEX_NAME} ${PARTITION_NAME} >> ${EXEC_LOG}
      STS=$?
      if [ ${STS} = 0  ]
      then
            echo "****** [${INDEX_NAME}:${PARTITION_NAME}] Index Rebuild
COMPLETE!! `date +%y%m%d_%H%M%S` ******"
            echo "****** [${INDEX_NAME}:${PARTITION_NAME}] Index Rebuild
COMPLETE!! `date +%y%m%d_%H%M%S` ******"   >> ${EXEC_LOG}
      else
            echo "****** Error!! [${INDEX_NAME}:${PARTITION_NAME}] Index
Rebuild ERROR!! `date +%y%m%d_%H%M%S` ******"
            echo "****** Error!! [${INDEX_NAME}:${PARTITION_NAME}] Index
Rebuild ERROR!! `date +%y%m%d_%H%M%S` ******"   >> ${EXEC_LOG}
            exit 99
      fi
fi
done;
exit 0



|
shell功能很强大的,dos的批处理功能很弱
搞不成的
if [ ! -f ${REBUILD_LIST} ]
是测试文件是否存在,dos下可以用exist
-z 是测试串长度是否为空,可以用==来判断和空串是否相同
INDEX_NAME=${LIST_NAME%%:*}   删除结尾的:*部分
PARTITION_NAME=${LIST_NAME##*:}  删除开头的*:部分
这两句是对字符串进行处理,dos就搞不定了

你自己根据需要自己写下dos下的批处理吧
实在不行,在windows下安装一个cygwin这样的东西就可以直接执行脚本了

|
最好的方式就是在 windows 下安装一个 cygwin,然后来执行 shell 脚本

|
lz,看来只能给你一些linux对应的windows命令了。。。抱歉。。。

|


如果是这样的话,还不如装个windows下的bash,我的空间就有得下载

    
 
 

您可能感兴趣的文章:

  • shell 编程关于 文本格式转换问题
  • 20090102用shell代码转换为2009-01-02?帮忙了,谢谢
  • Shell文件中如何转换用户
  • shell编程,如何将变量中的环境变量转换为绝对值
  • 一个简单的转换输出的shell脚本代码
  • 请问shell终端提示的转换
  • 怎么用SHELL命令转换语言编码格式?
  • shell编程中,如何将字符串转换成数字啊??
  • 批量转换目录下文件编码的shell脚本代码
  • 一个简单的转换输出的shell脚本代码 iis7站长之家
  • Shell脚本中实现把输入的密码转换为*(星号)的方法
  • 大小写字母转换的shell脚本代码
  • shell处理数据:如何将列转换成行
  • bash shell 将一字符串转换成数组
  • shell查找指定区间的字符串并将该文件转换成unix格式
  • shell实现字符编码转换工具分享
  • shell编程之一__DOS 下读取标准输入?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3