精华内容
下载资源
问答
  • shell脚本:将指定目录下的执行文件的结果写入指定文件中这个脚本使我写的第一个真正有用的脚本,折腾了半天。主要可以实现的功能就是:1、得到一个路径下的所有文件夹名。2、在得到子路径下的文件夹名。3、得到该...

    shell脚本:将指定目录下的执行文件的结果写入指定文件中

    这个脚本使我写的第一个真正有用的脚本,折腾了半天。主要可以实现的功能就是:1、得到一个路径下的所有文件夹名。2、在得到子路径下的文件夹名。3、得到该路径下的所有文件名。4、在制定位置创建文件。5、将指定路径下的二进制文件执行的结果写入指定路径下的文件中。

    #!/bin/bash
    dir=$(ls -l /home/lion/yuedata/RGB |awk '/^d/ {print $NF}')
    for i in $dir
    do
        path1='/home/lion/yuedata/RGB/'"${i}"
        echo $path1
    
        mdir1='/home/lion/yuedata/outRGB/'"${i}"
        echo $mdir1    
        mkdir $mdir1
    
        dir1=$(ls -l $path1  |awk '/^d/ {print $NF}')
    
        for j in $dir1
        do
            mdir2='/home/lion/yuedata/outRGB/'"${i}/""${j}"
            echo $mdir2
            mkdir $mdir2
    
            path2="${path1}/""${j}"
            echo $path2
            cd $path2
    
            for filename in `ls`
            do 
                echo $filename
                createfile="touch /home/lion/yuedata/outRGB/${i}/${filename}.txt"
                $createfile
    
                cmd="eval /home/lion/yuelib/dense_trajectory_release_v1.2/release/DenseTrack ${path1}/${filename} -L 30 >> /home/lion/yuedata/outRGB/${i}/${filename}.txt"
                $cmd
            done
        done
    done

    连接:shell eval命令使用 http://blog.csdn.net/w_ww_w/article/details/7075867

    带有计时功能的版本:

    #!/bin/bash
    dir=$(ls -l /home/lion/yuedata/RGB |awk '/^d/ {print $NF}')
    for i in $dir
    do
        path1='/home/lion/yuedata/RGB/'"${i}"
        echo $path1
    
        mdir1='/home/lion/yuedata/outRGB/'"${i}"
        echo $mdir1    
        mkdir $mdir1
    
        dir1=$(ls -l $path1  |awk '/^d/ {print $NF}')
    
        for j in $dir1
        do
            mdir2='/home/lion/yuedata/outRGB/'"${i}/""${j}"
            echo $mdir2
            mkdir $mdir2
    
            path2="${path1}/""${j}"
            echo $path2
            cd $path2
    
            for filename in `ls`
            do 
                echo $filename
                createfile="touch /home/lion/yuedata/outRGB/${i}/${filename}.txt"
                $createfile
    
                cmd="eval /home/lion/yuelib/dense_trajectory_release_v1.2/release/DenseTrack ${path1}/${filename} -L 30 >> /home/lion/yuedata/outRGB/${i}/${filename}.txt"
    
                start=`date +"%Y-%m-%d %H:%M:%S"`            
                $cmd
                end=`date +"%Y-%m-%d %H:%M:%S"`
                Sys_start=`date -d  "$start" +%s`
                Sys_end=`date -d  "$end" +%s`
                echo 'time per avi: '$(($Sys_end-$Sys_start))' s'  
            done
        done
    done
    

    展开全文
  • shell 将当前时间写入指定文件

    千次阅读 2010-11-22 20:02:00
    #!/bin/shaa="/root/aa"sed '/#defineDateTime /'d $aa > tempprintf "#defineDateTime /"" >> tempdate +%Y%m%d-%k:%M:%S/" >> tempcp temp $aarm -f temp

     

    #!/bin/sh

     

    aa="/root/aa"

    sed '/#define  DateTime /'d $aa > temp

    printf "#define  DateTime /"" >> temp

    date +%Y%m%d-%k:%M:%S/" >> temp

    cp temp $aa

    rm -f temp

     

    展开全文
  • main脚本 #!/bin/bash LOGPATH="/mnt/logging.log" logging(){ msg=$(date +%Y-%m-%d\ %H:%M:%S)"|"$1 echo $msg >...logging "---------------- hello 01 -----------------------" ...#RU...

    main脚本

    
    #!/bin/bash
    LOGPATH="/mnt/logging.log"
    logging(){
        msg=$(date +%Y-%m-%d\ %H:%M:%S)"|"$1
        echo $msg >> $LOGPATH
    }
    
    logging "---------------- hello 01 -----------------------"
    
    #RULE_PATH="/mnt/check_package"
    #if [[ -d $RULE_PATH ]]; then
    count=`python get_count.py`
    echo $count
    if [ $count -ge 1 ]; then
    logging "---------------- count >= 1 -----------------------"
    else
    logging "---------------- [ERROR]: count < 1 -----------------"
    fi
    

    get_count.py

    a = 1
    print a
    

    logging.log

    
    2019-01-11 15:27:33|---------------- hello 01 -----------------------
    2019-01-11 15:27:33|---------------- count >= 1 -----------------------
    2019-01-11 15:27:46|---------------- hello 01 -----------------------
    2019-01-11 15:27:46|---------------- count >= 1 -----------------------
    

     

    展开全文
  • 在运维工作中,免不了编写一些脚本交由计划任务(cron)去定时执行完成一些日常工作,实现运维工作自动化。比如在我的日常工作中...为了监控脚本的执行情况,在编写脚本的时候将执行情况的情况追加写入到本地指定的日

    在运维工作中,免不了编写一些脚本交由计划任务(cron)去定时执行完成一些日常工作,实现运维工作自动化。比如在我的日常工作中备份数据是一项重要的工作,需要定时将数据备份到备份服器和一些其他的备份介质中。其中大部分的备份工作都是写到脚本当中,并编辑/etc/crontab去定时完成备份任务。这样节省了不少日常工作的压力。
    为了监控脚本的执行情况,在编写脚本的时候将执行情况的情况追加写入到本地指定的日志文件当中,定期去查看这些文件来确保任务被正确的执行。
    但是,随着需要备份的服务器的增多,执行查看日志的工作就变成了一种负担。通常是需要逐个登录每台服务器去检查日志文件。
    为了解决上述问题,我打算将所有的备份日志写入到一台备份服务器当中,这样就可以实现日志的集中收集管理和查看了。为些我在前几天搭建了一台日志服务器用来收集每台服务器的日志信息(请参见:Centos6.7搭建Rsyslog日志服务器)。
    日志服务器也搭建完了,问题也出现了,如何将脚本中的执行情况写入到日志服务器中呢?其实,由于日志服务器已经搭建完成,只需要将需要记录信息写入到本地日志系统,那么本地rsyslog服务就会将日志信息同时写入到远端的日志服务器数据库中。

    将自定义的信息写入到本地日志系统需要用到:logger 命令
    logger 是一个shell 命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。

    使用方法举例:

    logger -it error  -p local5.info "hello world"

    -i 在每行都记录进程ID
    -t 日志中的每一行都加一个error标签
    -p 指定自定义的日志设备和日志级别,相关内容参见文章附录
    最后一个参数中的双引号(“”)中的文本内容就是自定义日志信息。在脚本中针对命令的执行结果(echo $?)进行if判断,然后使用logger输出不同的日志信息即可。如:

    umount -l /mnt
    if [ `echo $?` -eq 0 ]; then
        logger -p local3.info "Umount /dev/sdd1 is OK!"
    else
        logger -p local3.err "Umount /dev/sdd1 is Failure!"
    fi

    上面的脚本是卸载U盘或者移动硬盘时用到的角本。根据 echo $? 的返回值,将 info 或者 err级别的自定义日志信息写入到系统日志中。配合Rsyslog服务器使用就可以实现shell脚本执行情况的集中收集与管理了。

    附:日志类型和日志级别
    日志类型

    日志类型说明
    authpam产生的日志
    authprivssh,ftp等登录信息的验证信息
    cron时间任务相关
    kern内核
    lpr打印
    mail邮件
    mark(syslog)rsyslog服务内部的信息,时间标识
    news新闻组
    user用户程序产生的相关信息
    uucpunix to unix copy, unix主机之间相关的通讯
    local1~7自定义的日志设备

    日志级别
    从上到下,级别从低到高,记录的信息越来越少 详细的可以查看手册: man 3 syslog

    级别说明级别值
    debug有调式信息的,日志信息最多7
    info一般信息的日志,最常用
    notice最具有重要性的普通条件的信息
    warning警告级别4
    err错误级别,阻止某个功能或者模块不能正常工作的信息
    crit严重级别,阻止整个系统或者整个软件不能正常工作的信息
    alert需要立刻修改的信息
    emerg内核崩溃等严重信息
    none什么都不记录
    展开全文
  • 两种方法: 2>&1 | tee mylog.log > test.txt 举例: ------------------------------------------------------------ sh batchjob.sh 2>&1 | tee mylog.log ...-------------------...
  • shell进入目录与写入文件的几种方法

    千次阅读 2019-12-07 10:36:11
    shell进入目录 [root@localhost shell]# vim base.sh [root@localhost shell]# cat base.sh #!/usr/bin/env bash basedir=`cd $(dirname $0); pwd -P` echo $basedir base1=`cd ..;pwd` echo $base1 #$()与`...
  • 极大可能是你的sh文件里存在windows的回车,可以通过vi打开后:set fileformat=unix 进行转换来解决
  • Shell 中使用 echo 将数据写入文件

    万次阅读 2018-05-24 17:30:01
    Shell脚本入门(十二) - 将数据写入文件 Linux学习笔记——如何使用echo指令向文件写入内容 今天我们来看一下怎样将数据写入文件中,还记得前面输出信息使用的echo命令吗? 输出到文件同样使用这个...
  • shell脚本批量执行redis写入操作

    千次阅读 2018-09-19 10:21:48
    #!/bin/bash while read line do echo $line | redis-cli -h 192.168.1.13 -p 6379 -c sleep 0.005 done &lt; redis.txt 每次执行一条命令睡眠5毫秒
  • 1.shell脚本目前内容 ![图片说明](https://img-ask.csdn.net/upload/201812/20/1545277983_427132.png) 2.要修改的配置文件目录:/opt/FounderETL/batch/etl/config 3.配置文件名称:setting.properties ...
  • 如何在一个脚本中读取文件?这是一个好的操作 回顾 cat命令 cat 命令:cat 命令用于连接文件并打印到标准输出设备上。 我们新建一个 names.txt,里面存储一些名字 使用 cat 命令,可以查看到cat命令列出了给定文件...
  • remote_calculate_tps.sh #!bin/bash java -version 2>&1 |... 默认为写入覆盖,-a参数表示追加内容 #!bin/bash java -version 2>&1 | tee -a stastic_log.txt https://blog.csdn.net/kunkliu/article/details/79137515
  • sqlplus $username/$password spool /home/${LOGNAME}/data_source/creattable.log; @/home/${LOGNAME}/data_source/RCS_TABLE.sql @/home/${LOGNAME}/data_source/RCS_TABLE_INDEX.sql @/home/${LOGNAME}/dat
  • 想尽了各种办法赋权都以失败告终,所以想到写shell脚本用root用户来执行将结果写入到log文件中,然后我们来读文件取数据就好了,不用执行aix死活都不让我们执行的命令。 shell脚本如下:! /usr/bash while true #...
  • shell 脚本 try2.sh python脚本 使用说明 1.cd /opt/zy 在这个目录下以root用户权限执行命令 2. 在SAP查询的时候 Tcode:ZMMR0005 Purchase Org * PO Creating:2017/3/1 (开始日期) 2017/6/31...
  • 后来在使用其他成熟知名的应用程序,比如MySQL、Elasticsearch时,受到了启发,可以为服务写一个启动关闭程序:启动程序负责执行脚本,同时将该脚本的进程ID写入一个pid文件;关闭程序负责读取pid文件里的进程ID执行...
  • Android开机执行指定shell脚本

    万次阅读 2018-08-14 11:58:01
    首先说明一点,这篇文章是偏向Android ROM定制,不适用于应用开发方向,如果是普通的应用开发者可以不用看了。 Android启动流程 ...而init进程启动其实就是包含了解析执行init.rc的过程。我们今天这个开机...
  • shell 远程执行命令

    千次阅读 2018-08-27 10:00:48
    shell远程执行:  经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了。一下介绍两种shell命令远程执行的方法。 前提条件:  配置ssh免密码...
  • 删除日志文件中以WARN开头的行: cat /root/filename | sed -e '/^WARN:/d' &amp;gt; /root/filename cat:查看文件 /root/filename:文件名 | :管道符 sed:在sed处理文件的时候,每一行都被保存在一个叫模式空间...
  • 上一篇是个简单的可以执行并且写入日志的脚本,但是如果放到生产环境上就显得太粗糙了,所以需要进一步的优化:#! /bin/bash if [ -d "/opt/bmc" ] ; then if [ -f "/opt/bmc/usysfault.log" ] ; then { date +...
  • shell文件权限和脚本执行

    千次阅读 2016-09-21 16:54:23
    按照所针对的用户,文件的权限可分为三类:1) 文件属主,创建该文件的用户。2) 同组用户,拥有该文件的用户组中的任何用户。3) 其他用户,即不属于拥有该文件的用户组的某一用户。当创建一个文件的时候,系统保存了...
  • #!/bin/sh -x str=cxx* ...#將以cxx为前缀的key 打印出来 并追加到文件 keys_file redis-cli ${key} ${str} > keys_file #将文件中的内容读出并打印出来前十行 filelist=`cat keys_file` for list
  • 多种shell脚本执行方式之间的区别

    千次阅读 2016-06-29 18:35:21
     ...多种shell脚本执行方式之间的区别 ...今天凌阳嵌入式培训讲师王老师为大家讲解关于“多种shell脚本执行方式之间的区别”,大家赶紧来学习一下:    shell脚本的执行方式:  #
  • 今天遇到一个将oracle里查询的数据写入到本地文件的小需求,主要使用到了spool命令.spool的作用可以用一句话来描述:在sqlplus中用来保存或打印查询结果。 做个记录,以便日后查询 以下是代码: sqlplus -S "BJ_UCR...
  • [ -x FILE ] 如果 FILE 存在且是可执行的则为真。 [ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。 [ -G FILE ] 如果 FILE 存在且属有效用户组则为真。 [ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。 ...
  • shell命令 > 1.txt 这样重定向输出到文件中 不写入了 是怎么回事 shell命令 > 1.txt 这样重定向输出到文件中 不写入了 是怎么回事 就写入了一部分信息 不加 > 1.txt 输出了很多信息 ...没有指定文件路径
  • 注:如果文件没权限,请使用root权限执行脚本 下面内容为ceshi.sh脚本内容 cat >> /etc/profile << EOF XXXXX(须要写入文本的内容) EOF
  • [Shell基础] 执行脚本并输出日志文件

    千次阅读 2019-06-26 09:41:09
    shell 错误输出重定向到标准...shell中每个进程都和三个系统文件相关联 标准输入stdin 标准输出stdout 标准错误stderr 三个系统文件文件描述符分别为0,1和2。 所以这里2>&1的意思就是将标准错误也输出到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,809
精华内容 44,323
关键字:

shell下面执行的写入指定文件