Linux脚本
- 放置在/usr/local/sbin下面;
- 收到一个问题:"-bash XXX 没有权限";需要在此目录下执行chmod +x filename
- 收到一个问题:"-bash XXX ^M: bad interpreter: 没有那个文件或目录";vi -filename-> :set ff?会看到dos/unix,如果是前者,那么就需要:set fileformat=unix;最后不要忘记:wq!保存哦;如果为了方便,可以每次都从Linux中下载文件到windows系统进行编辑;否则如果是纯windows文件,每次覆盖都需如此转换文件格式为unix;
- 首行"PATH="/data/jstack"`date -d "today" +"%m%d%H%m.txt"`"总是报:": command not found:",后来在文件头部增加了"#!bin/sh"之后即可;
- 在使用date来获取时间的时候,m代表月份;M代表分钟; s代表从公元前XX到现在的秒数;S代表秒
- 注意在if脚本里面[]的空格很重要;一定要保持里面的条件和左右中括号有一个空格的距离;
- 注意在if关键字和[]之间也需要空格;
- 但是,与之类似,赋值的等号前后不能有空格;
- 追加的方式重定向文件,第一个一定是要">",之后的才是">>"。
- 定义变量名称需要注意不要叫"PATH"之类的可能和系统变量名称重复的名字;可以通过添加前缀、大小写等方式来进行规避,比如"MyPath"等等。
- 对于两个命令,如果想要等待其中一个执行完毕再执行第二个,需要使用"&&"或者分号";"做连接,如此则表示只有前一个执行完毕了才会执行第二个; 上一个执行结果查看的命令是$?,只有返回值为0才代表执行成功;可以在命令行中敲"echo $?"就可以看到
- 对于参数切记是双引号包含$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
Linux脚本的更多相关文章
- Linux 脚本编写基础
txt去重 http://man.linuxde.net/sort Linux 脚本编写基础 http://www.cnblogs.com/linn/archive/2007/03/05/664 ...
- 【转】【整理】将Linux脚本中的正常输出,警告,错误等信息输出到文件中
本文来自:http://blog.csdn.net/woshinia/article/details/18040063 很早以前 编译的时候 就在用 2>&1,但是一直没有生成一 ...
- linux脚本编程(shell)浅介 (转载)
linux脚本(shell)编程 啊,昨天上网看到一篇讲 linux/unix shell 的文章,想想自己最后写这东西也是一年前的事了,想想都快忘光了. 还是整理一下,做一次回顾,以后说不定还用得上 ...
- linux脚本编程技术
linux脚本编程技术 一.什么是脚本 脚本是一个包含一系列命令序列的可执行(777)文本文件.当运行这个脚本文件时,文件中包含的命令序列将得到自动执行. 二.脚本编程 #!/bin/sh 首行固定格 ...
- Linux脚本执行过程重定向
Linux脚本执行过程重定向 一.bash调试脚本,并将执行过程重定向到指定文件 bash –x shell.sh 2>&1 | tee shell.log
- linux 脚本编写基础(一)
1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...
- linux脚本初体验
前言 第一次写linux脚本,有点紧张. 1. 写一个寻找特定用户的脚本文件? #! /bin/sh who | grep $1 其中脚本第一行用来告诉kernel去使用/bin/sh来解释这个脚本: ...
- Linux脚本入门(1)
1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例 ...
- Linux脚本shell字符串处理
Linux脚本shell字符串处理,基本都有了,看着搜吧 TLDP教堂 shell中if条件字符串.数字比对,[[ ]]和[ ]区别 Linux 之 shell 比较运算符 Linux Shell编程 ...
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
centos shell编程4[分发系统] 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要 ...
随机推荐
- Android Butterknife框架配置
一.原理. 最近发现一个很好用的开源框架,蛮不错的,可以简化你的代码,是关于注解的.不多说直接进入使用步骤讲解. 二.步骤. 1.准备阶段,先到官网( http://jakewharton.githu ...
- 清理300多台MySQL数据库的过期binlog日志
早晨睡梦中,被 on-call了,说磁盘报警,赶紧起来打开email,收到上百封email报警,数据库磁盘不够了,查询了原因 [xxx@xxxx cacti]$ ssh xxxx "df - ...
- VS2012执行Cocos2d-xTest案例载入失败解决方式
编译cocos2d-x,一直提示载入失败 通过搜索,解决方式例如以下: 第一步,通过命令提示行工具进入VS安装文件夹下的%VS2012home%Common7\IDE 第二部,运行devenv.exe ...
- careercup-链表 2.1
2.1 编写代码,移除未排序链表中的重复节点. 不使用临时缓存: 如果不允许使用临时的缓存(即不能使用额外的存储空间),那需要两个指针, 当第一个指针指向某个元素时,第二个指针把该元素后面与它相同的元 ...
- Java Interface是存放常量的最好地方吗?(转)
虽然Inteface中默认常量就是static final 的.因此很多人就认为其实存放常量的最佳地方,effective java中就提过,不建议使用常量接口.其有一个原因就是:代码编译问题 好,我 ...
- Java基础知识强化之IO流笔记34:OutputStreamWriter(Writer字符流的子类)5种write数据方式
1. OutputStreamWriter (转换流) OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节. 同时OutputS ...
- 20个命令行工具监控 Linux 系统性能(转载)
1. top — Linux 系统进程监控 top 命令是性能监控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系统管理员经常使用的监控系统性能的工具.Top 命令可以 ...
- Pagekit安装
Pagekit 是一个模块化,轻量的 CMS 系统,基于现代化的技术,如 Symfony 组件和 Doctrine.它提供了一个很好的平台,用于主题和延伸开发.Pagekit 为您提供了工具来创造美丽 ...
- 当append里面的标签显示不出来的时候,用下面的方式做
$("#result_td").append(tem1+tem3) $("#result_td").append($(tem1+tem3))
- java中时间差计算
public class Utill { public String TimeString(Date currentTime, Date beginTime){ /*默认为毫秒,除以1000是为了转换 ...