zoukankan      html  css  js  c++  java
  • Linux脚本

    1. 放置在/usr/local/sbin下面;
    2. 收到一个问题:"-bash XXX 没有权限";需要在此目录下执行chmod +x filename
    3. 收到一个问题:"-bash XXX ^M: bad interpreter: 没有那个文件或目录";vi -filename-> :set ff?会看到dos/unix,如果是前者,那么就需要:set fileformat=unix;最后不要忘记:wq!保存哦;如果为了方便,可以每次都从Linux中下载文件到windows系统进行编辑;否则如果是纯windows文件,每次覆盖都需如此转换文件格式为unix;
    4. 首行"PATH="/data/jstack"`date -d "today" +"%m%d%H%m.txt"`"总是报:": command not found:",后来在文件头部增加了"#!bin/sh"之后即可;
    5. 在使用date来获取时间的时候,m代表月份;M代表分钟; s代表从公元前XX到现在的秒数;S代表秒
    6. 注意在if脚本里面[]的空格很重要;一定要保持里面的条件和左右中括号有一个空格的距离;
    7. 注意在if关键字和[]之间也需要空格;
    8. 但是,与之类似,赋值的等号前后不能有空格;
    9. 追加的方式重定向文件,第一个一定是要">",之后的才是">>"。
    10. 定义变量名称需要注意不要叫"PATH"之类的可能和系统变量名称重复的名字;可以通过添加前缀、大小写等方式来进行规避,比如"MyPath"等等。
    11. 对于两个命令,如果想要等待其中一个执行完毕再执行第二个,需要使用"&&"或者分号";"做连接,如此则表示只有前一个执行完毕了才会执行第二个; 上一个执行结果查看的命令是$?,只有返回值为0才代表执行成功;可以在命令行中敲"echo $?"就可以看到
    12. 对于参数切记是双引号包含$1,如果是单引号'$1'怎会被认为是字符串,只有双引号"$1"才会被解析为参数值;

    .eg一个:

    #!/bin/sh

           

    if [ "$1" == "" ]; then

        echo "Please input port num!"

    else

        Path="/data/status"`date -d "today" +"%m%d%H%M%S.txt"`

        echo "--------------------Total Count Info---------------------" > "$Path"

        TotalCount=`netstat -anp | grep -i 56801 | wc -l`

        echo "$TotalCount" >> "$Path"

        echo "Total Count: $TotalCount"

        echo "" (换行)

        echo "--------------------jStack Info---------------------" >> "$Path"

        /var/jdk1.6.0_33/bin/jstack -l "$1" >> "$Path"

        echo "[jstack]port:$1; path: $Path"

    fi

  • 相关阅读:
    Python3学习之路~8.5 SocketServer实现多并发
    Python3学习之路~8.4 利用socket实现文件传送+MD5校验
    [jzyzoj2021]lca模板题
    [BZOJ4542] [JZYZOJ2014][Hnoi2016] 大数(莫队+离散化)
    BZOJ3289[JZYZOJP2018]: Mato的文件管理 莫队+树状数组+离散化
    离散化的后续
    数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理
    stl upper_bound()
    [BZOJ 3720][JZYZOJ 2016]gty的妹子树 强制在线 树分块/树套树
    所以学树分块的时候为什么要看vector啊sjb
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/3830596.html
Copyright © 2011-2022 走看看