最近需要用到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. 怎样查看MySQL是否区分大小写

    MySQL默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0代表区分,1代表不区分.

  2. 修改MySQL的默认数据存储引擎

    因为MySQL默认的是MyISAM数据引擎,不支持事务也不支持外键,所以需要用到Innodb引擎,于是决定将mysql的默认引擎设置为innodb.1 . 查看MySQL存储引擎是用的哪个?登录MyS ...

  3. HTTPS 客户端验证 服务端证书流程

    网上的文章很多, 但是对摘要的验证流程不够通俗易懂. QQ截图20160420114804.png 证书预置和申请 1:客户端浏览器会预置根证书, 里面包含CA公钥2:服务器去CA申请一个证书3: C ...

  4. Javascript setTimeout 带参数延迟执行 闭包实现

    不是原创,只是 借鉴别人的成果,我在此纪念 1.htm function GetDateT() { var d,s; d = new Date(); s = d.getFullYear() + &qu ...

  5. php装饰器模式完成文章编辑

    <?php //文章父类 class BaseArt{ protected $content; protected $art; public function __construct($cont ...

  6. host,nslookup,dig 命令安装

    host,nslookup,dig依赖bind包,所以先看一下系统有没有bind包 命令如下:rpm -qa |grep bind 如果没有或者版本太低请升级安装 命令是:yum install bi ...

  7. netcat命令

    1 简介 netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netc ...

  8. fcc的高级算法题

    核心提示:本部分一个9道题,给定时间50小时.属于fcc前端学习的"高级编程脚本"题,对于初学者来说,确实算是"高级"了.如果只想着闭门造车,50小时确实也不过 ...

  9. 入门:JavaWeb Cookie

    总结: JavaWeb 利用Cookie 存储在本地用户名和密码,设置Cookie的生存时间. 两个页面,一个登陆页面,一个登陆后的页面,在登陆页面选择是否保存Cookie(保存Cookie,下次自动 ...

  10. js取float型小数点后两位数的方法

    四舍五入以下处理结果会四舍五入:' var num =2.446242342; num = num.toFixed(2); // 输出结果为 2.45   不四舍五入以下处理结果不会四舍五入:第一种, ...