1.以#!/bin/bash 开头
2.执行方式 bash sh ./ `script`
3.变量: 系统变量  自定义变量  --->export 可导出为全局环境变量
        set显示所有shell变量  unset 取消变量     readonly静态变量不能被unset
4.获取命令返回值
    A=`ls -al`   =====  A=$(ls-al) -----> echo $A
5.参数取值
    &*      全部参数
    $@        无引号时代表全部参数,有引号代表全部参数的数组
    $#        传入参数的个数
    $n        代表传入的第几个参数,0代表shell本身  第10位以上的参数${10}
    
    $$        当前进程号
    $!        后台运行的最后一个进程号
    $?        上一个命令执行的返回状态 0代表成功
6.运算符
    $((calc))   或者   $[cals]   
    expr `clac`       直接输出了
            例:expr `expr 2 + 3` \* 4    -->20
                A=[(2+3)*4]  echo $A      -->20
                
7.条件判断
    [ condition ]    注意:前后有空格
    23是否大于22                          [ 23 -gt 22 ]
    test.txt是否有读权限                [ -r test.txt ]
    hive.log是否存在                    [-e /hive.log]
8.分支语句
     if   case     

#!/bin/bash
if [ $ = ] ; then 不换行写分号
echo
elif [ $ = ] 换行不用写
then
echo
else else不写then
echo
fi #!/bin/bash
case $ in
)
echo
;; 注意双分号
)
echo
;;
*) 没匹配的执行这个
echo
;;
esac

  for      while

s=
for ((i=;i<=;i++)) 也可 ;do
do
s=$[$s+$i]
done echo $s for x in ; do
echo $x
done for y in "$@"
do
echo $y
done i=
s=
while [ $i -le ] 用此类型比较符
do
s=$[$s+$i]
i=$[$i+]
done
echo $i
echo $s

9.控制台读入信息
    read -t 10 -p "等待10秒读入姓名" NAME     echo $NAME
10.函数
    basename    获取文件名(去除目录部分)
    dirname        获取目录(去除文件名部分)
    
    自定义函数   function funName()
                {    
                    方法体(没有return时,最后一条语句作为返回值,$?获取)
                }

shell小记的更多相关文章

  1. linux 常用反弹shell小记

    在渗透测试过程中由于防火墙和其它安全防御措施,很多服务器只能单向向外访问,不能被访问,我们常常需要反弹shell. 1.bash反弹shell 本地开启监听 nc -lvvp 受害主机命令 bash ...

  2. Shell常见用法小记

    shell的简单使用 最近发现shell脚本在平常工作中简直算一把瑞士军刀,很多场景下用shell脚本能实现常用的简单需求,而之前都没怎么学习过shell,就趁机把shell相关的语法和常见用法总结了 ...

  3. 【转】shell expect spawn、linux expect 用法小记 看着舒服点

    使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...

  4. Linux shell 脚本小记

    if结构 #!/bin/env bash -gt ] then echo "$1 is positive" -lt ] then echo "$1 is negative ...

  5. shell脚本的小记

    作者:邓聪聪 mysql的脚本执行 #!/bin/sh HOST="127.0.0.1" PORT=" UESRNAME="root" PASSWOR ...

  6. Linux shell 脚本小记2

    .从文件读取 while read line do echo "line=$line" done < file.txt .将字符串转换为数组,并进行遍历 str=" ...

  7. linux/unix shell bash script 小记

    #script PSAATL11*` do $i | awk -F ':' '{print $1}'` do ((k=j+)); m=$(zcat $i | sed -n ${j},${k}p); e ...

  8. linux 下cmake 编译 ,调用,调试 poco 1.6.0 小记

    上篇文章 小记了: 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记. http://www.cnblogs.com/bleachli/p/4352 ...

  9. 开发Android系统内置应用小记

    Android系统内置应用可以使用更多的API.更高的权限,与开发普通应用最大的差别在于编译,内置应用编译需要用到Android.mk文件.下面是我在开发过程中的一些小记. 1.在AndroidMai ...

随机推荐

  1. 解决Visual Studio 2015启动慢的问题

    总发现vs2015经常把cpu给占满了,导致电脑卡的不要不要的.这是CodeLens引起的,因为装了VAssistX后,感觉CodeLens还没VAssistX好使.所以,关了CodeLens就可以了 ...

  2. istio 配置解读

    Istio在服务网络中统一提供了许多关键功能: 流量管理:控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮. 可观察性:了解服务之间的依赖关系,以及它们之间流量的本质 ...

  3. SVN服务器安装与本地连接

    SVN服务器安装与本地连接 系统环境 Centos7 查看是否安装了低版本SVN [root@svn-server ~]# rpm -qa subversion 卸载旧版本SVN [root@svn- ...

  4. hdfs的java接口简单示例

    public class HDFSDemo { private FileSystem fs = null; @Before public void init() throws IOException, ...

  5. P2758 编辑距离

    题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1.删除一个字符: 2.插入一个字符: 3.将一个字符改为另一个字符: !皆为小写字 ...

  6. JQuery Validate插件与实现

    菜鸟拙见,望请纠正 一:效果展示:以下是两个注册表单验证,左边使用Jquery validate插件实现,右边是自己用JQuery实现,效果差不多,但个人推荐用插件,毕竟前人栽了树而且长大了后人当然好 ...

  7. 利用IPC通道进行进程间通信(C#)

    有一个解决方案,其中包括一个Windows服务和一个Windows应用程序,两者之间需要进行通信.查了下,可以使用多种方法,如Web service(适用于不同系统及跨平台情况)..NET Remot ...

  8. 2017-2018-1 20155210 《信息安全系统设计基础》 实现mypwd

    2017-2018-1 20155210 <信息安全系统设计基础> 实现mypwd 作业要求: 1.学习pwd命令 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 ...

  9. 2017-2018-1 20155231 课堂测试 (ch06)

    2017-2018-1 20155231 课堂测试 (ch06) 1 (单选题|1分) 下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为(D) A .1 B .1/4 C ...

  10. 2017-2018-1 20155239 《信息安全系统设计基础》第五周学习总结+mybash的实现

    2017-2018-1 20155239 <信息安全系统设计基础>第五周学习总结+mybash的实现 mybash的实现 使用fork,exec,wait实现mybash 写出伪代码,产品 ...