最近需要用到shell脚本实现关机保护作用,总结下语法

要点:

1、linux下编写的shell脚本不能在window下编写,否则会出现^M的错误,用window编写保存,在linux用vim打开,每行的最后一个会出现^M

原因:对回车键判定不一致,window是\r\n,unix是\r,    用ultraedit打开会提示用dos格式还是unix格式,用此软件打开不会存在这种情况。

2、对字符串进行判断是否为空,在变量加双引号""

tmp=`ps | grep "ups_netcomm"`
if [ ! -z "$tmp" ]; then
pid=`ps | grep "ups_netcomm" | awk '{print $1}' `
echo "the process ups_netcomm is running, kill ups_netcomm process pid:$pid"
kill - $pid
fi

3、awk 进行一定规律的文本分析,例如 ps -aux | awk '{print $1}' , 而sed用于查找替代文件内容

4、sh与bash不一样, sh是bash的子集,sh是posix标准, 通用于任何符合posxi标准

shell常用命令:  http://segmentfault.com/a/1190000002924882#articleHeader3

5、 bash里  return 的返回值只能为整数

获取函数的字符串返回值的方法

function unzipPackage()
{
echo "test"
} result=`unzipPackage "$guardUUID" "$fileDate"`

获取函数的retrun的返回值

function unzipPackage()
{
return
} unzipPackage $guardUUID $fileDate
result=`echo $?`

php 在使用  $last_line = exec("./bash.sh",  $output, $ret);   其中的$ret 是 bash.sh的 return的值, $last_line 是bash.sh的echo 的值

shell简单使用的更多相关文章

  1. Linux学习之常用网络通信命令与shell简单应用技巧(四)

    (一)常用网络通信命令 (1)ping命令 (2)write命令 (3)wall命令 (4)ifconfig命令 (5)shutdown命令 (6)reboot命令 (二)shell简单应用技巧 (1 ...

  2. Linux shell ${}简单用法

    转自:Linux shell ${}简单用法 为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.t ...

  3. Spark Shell简单使用

    基础 Spark的shell作为一个强大的交互式数据分析工具,提供了一个简单的方式学习API.它可以使用Scala(在Java虚拟机上运行现有的Java库的一个很好方式)或Python.在Spark目 ...

  4. Linux shell简单创建用户脚本

    前面介绍简单的shell编写规则. 现在开始编写一个简单的shell脚本. Linux shell介绍 编写shell脚本    1.创建脚本文件    2.根据需求,编写脚本    3.测试执行脚本 ...

  5. Shell 简单入门教程

    大数据开发岗为什么要学习Shell呢?1)需要看懂大数据运维岗人员编写的Shell程序.2)偶尔会编写一些简单Shell程序来管理集群.提高开发效率 艺多不压身 Shell是一个命令行解释器,它接受应 ...

  6. shell简单用法笔记(shell中数值运算)二

    shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...

  7. shell简单用法笔记(一)

    一.linux中主要用的bash shell:查看linux系统中支持的shell种类可用: vim /etc/shell 执行shel脚步的方式: 1.赋予脚步可执行权限,使用相对或绝对路径调用该脚 ...

  8. linux 学习随笔-shell简单编写

    脚本最好都放在/usr/local/sbin中 脚本的执行 sh -x 脚本.sh -x可以查看执行过程 1在脚本中使用变量 使用变量的时候,需要使用$符号:  #!/bin/bash  ##把命令赋 ...

  9. shell 简单脚本编程

    shell脚本编程 编译器,解释器 编程语言: 机器语言,汇编语言,高级语言 静态语言:编译型语言 强类型(变量) 事先转换成可执行格式 C,C++,JAVA,C# 动态语言:解释型语言,on the ...

随机推荐

  1. ARPSpoofing教程(二) - 获取网络设备中的详细地址信息

    WinPcap中文API  http://www.ferrisxu.com/WinPcap/html/index.html 1: #include"pcap.h" 2: #incl ...

  2. js获取当前域名及获取页面完整地址并做判断

    <script language="javascript"> //获取域名 hostName = window.location.host; host2=documen ...

  3. C#------如何判断输入的是否为纯数字

    private void Btn_OK_Click(object sender, EventArgs e) { IDormitoryAdminCardService aservice = new Do ...

  4. 关于主机FTP连接不上,无法列出目录,列表错误,上传速度慢,掉速的解决办法

    FTP是一种文件传输协议,它支持两种模式: 一种方式叫做Standard (也就是 Active,主动方式), 一种是 Passive (也就是PASV,被动方式). Standard模式 FTP的客 ...

  5. POI导出Excel的空值问题

    情景: 页面上的表格导出Excel,表格没数据导出的空格也要参与运算,结果在Excel上出错了 看图, 行-A.A12是没有数据的,后台代码cell.setCellValue("" ...

  6. ubuntu下怎么解决python "Non-ASCII character"错误

    解决方法:源代码文件第一行添加:#coding:utf-8 参考:  http://jingyan.baidu.com/album/219f4bf7d04887de442d3899.html?pici ...

  7. Android学习笔记——Handler(一)

    使用Handler管理线程(转) 步骤: 1. 申请一个Handler对象 Handler handler = new Handler(); 2. 创建一个线程 {继承Thread类或者实现Runna ...

  8. linux sort,uniq,cut,wc,tr命令详解

    sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...

  9. Redis-cluster集群【第二篇】:redis持久化

    Redis持久化原理: Redis支持两种持久化:RDB和AOF模式 一.名词解释: RDB:持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot).AOF ...

  10. MySQL5.7 Replication主从复制配置教程

    最近配置mysql5.7主从复制的时候碰到了些问题,老老实实按老版本的步骤配置会有错误,后来自己查看了官方文档,才解决了问题,在这里总结一下5.7的配置步骤, 大体步骤跟老版本的还是一样的,只是有一些 ...