/bin/sh与/bin/bash的区别
sh:如果前面有语句报错,则报错语句后面的命令不执行
bash:如果前面有语句报错,后面的命令也会执行
sh跟bash的区别,实际上就是bash有没有开启posix模式的区别(遵循posix的特定规范,有可能就包括这样的规范:“当某行代码出错时,不继续往下解释”)

脚本第一句:
#!/bin/sh 等同于 #!/bin/bash --posix

第一个shell脚本
#!/bin/bash
#author wangxiangyu
# 2017-05-29
echo 'wangxiangyu, yuanyuan and lovely susu are a happy family'

注意:
#!/bin/bash 表示使用bash版本的shell脚本,固定格式
echo 输出语句
如果在Windows系统环境下编写shell脚本,会报“/bin/sh^M: bad interpreter: No such file or directory”异常,原因是两种系统有些字符(比如回车符)不一样,Linux识别不了造成的,可以使用:dos2unix hello.sh命令转换格式

系统可能没有安装这个命令的包,可以手动安装,使用命令:yum -y install dos2unix

脚本执行方式
1、赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh(相对路径) 或 /test/hello.sh(绝对路径)
2、通过bash调用执行脚本
bash hello.sh

输出重定向

标准输出重定向
命令>文件 以覆盖的方式把命令的正确输出写到指定的文件或设备中
命令>>文件 以追加的方式把命令的正确输出写到指定的文件或设备中
标准错误输出重定向
错误命令 2> 文件 以覆盖的方式把命令的错误输出写到指定的文件或设备中,2和>之间不能有空格
错误命令 2>>文件 以追加的方式把命令的错误输出写到指定的文件或设备中
正确输出和错误输出同时保存
命令>文件 2>&1 或 命令&>文件 以覆盖的方式,把正确输出和错误输出都保存到同一个文件中
命令>>文件 2>&1 或 命令&>>文件 以追加的方式,把正确输出和错误输出都保存到同一个文件中
命令>>文件一 2>>文件二 把正确的输出追加到文件1中,把错误的输出追加到文件2中
注:如果文件不存在,则会在当前目录下创建

输入重定向

wc -c 统计字节数 -w 统计单词数 -l 统计行数

多命令顺序执行与管道符

; 命令1;命令2 多个命令顺序执行,命令之间没有任何逻辑联系
&& 命令1&&命令2 逻辑与,当命令1正确执行,则命令2才会执行;当命令1执行不正确,则命令2不会执行
|| 命令1||命令2 逻辑或,当命令1执行不正确,则命令2才会执行;当命令1正确执行,则命令2不会执行
| 命令1|命令2 管道符,命令1的正确输出作为命令2的操作对象
命令 && echo yes || echo no 命令执行成功则打印yes,命令执行失败则打印no

dd if=输入文件 of=输出文件 bs=字节数 count=个数
if=输入文件 指定源文件或源设备
of=输出文件 指定目标文件或目标设备
bs=字节数 指定一次输入/输出多少字节,即把这些字节看做一个数据块
count=个数 指定输入/输出多少个数据块
date; dd if=/dev/zero of=/root/testfile bs=1k count=102400;date 即创建一个100M的文件testfile需要多少时间

netstat -an | grep ESTABLISHED 查看当前系统中所有正在连接的网络

通配符

? 匹配一个任意字符
* 匹配0个或任意多个任意字符,也就是可以匹配任何内容
[] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-] 匹配中括号中任意一个字符,-代表一个范围。例如:[a-z]代表匹配一个小写字母
[^] 逻辑非,表示匹配不是中括号内的一个字符,例如:[^0-9]代表匹配一个不是数字的字符

变量

会计

shell编程之helloworld的更多相关文章

  1. shell编程之awk命令详解

    shell编程之awk命令详解 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; out ...

  2. 03 shell编程之case语句与函数

    本文所有内容均来自当年博主当年学习笔记,若有不足欢迎指正 Shell编程之case语句与函数 学习目标: 掌握case语句编程 掌握shell函数的使用 目录结构: Case语句 Case语句的作用 ...

  3. shell编程之case分支语句

    shell编程之case分支语句 case分支语句和if的多分支语句很相似. if多分支语句一般用在有(区间范围)的地方 :例如:0-100之间. if需要判断多个不同的条件. case的分支语句用在 ...

  4. shell编程之if语句

    shell编程之if判断 目录 shell编程之if判断 1.整数比较 2.字符串比较 3.举例 1.数字比较 2.字符串比较 4.Other 1.整数比较 -eq 等于,如:if [ "$ ...

  5. Shell编程之Shift的用法

    位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...

  6. shell 编程之 for while until 循环

    shell 的for循环 的格式如下: for 变量  in 列表 do ... done 列表是一组值的序列 每个值通过空格隔开 每循环一次,列表中的下一个值赋给变量 in 列表是可选的,如果不用他 ...

  7. shell 编程之 if...else case...esac

    shell的条件判断语句有三种 if...fi  语句 if...else...fi  语句 if...elif...fi  语句 例子: a=10; b=20; if [ $a -gt %b ] t ...

  8. shell编程之echo printf 命令

    shell中 echo 和printf 都能用作输出,printf可以算是echo的增强版 显示转义字符 echo \""abcdef\"" >>& ...

  9. shell编程之BASH变量(2)

    变量命名规范 在bash中,变量的默认类型都是字符串型,定义 name = 'kk' 变量分类 用户自定义变量.变量自定义的 环境变量:这种变量中主要保存的是和系统操作环境相关的数据.变量可以自定义, ...

随机推荐

  1. c++11 线程

    转自:http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-3.html 是个just的c++库. ...

  2. python备份网站,并删除指定日期文件

    #!/usr/bin/python# Filename: backup_ver1.pyimport osimport timeimport datetime# 1. The files and dir ...

  3. Java连接访问Oracle--Connection.setSavepoint()方法使用

    使用时有一个重要前提:你不能使用oracle的classes12.jar,需要把oracle的jdbc驱动替换成ojdbc14.jar,否则savepoint()功能不能使用(出现“abstract方 ...

  4. 使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布

    假设检验的基本思想: 若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的.如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设. 实质分析: ...

  5. socket技术详解(看清socket编程)

    socket编程是网络常用的编程,我们通过在网络中创建socket关键字来实现网络间的通信,通过收集大量的资料,通过这一章节,充分的了解socket编程,文章用引用了大量大神的分析,加上自己的理解,做 ...

  6. Study 1 —— Python简介

    Python与其他语言的区别C\C++:学习成本高,学习周期长,偏系统底层,在开发硬件驱动.嵌入式.游戏引擎开发等领域有广泛的应用:JAVA:目前使用最广泛的编程语言,第一个跨平台运行的语言,在大型E ...

  7. IDAPython学习(一)

    1.概述 IDAPython在IDA中集成了Python解释器,除了提供了Python功能外,使用这个插件还可以编写实现IDC脚本语言的所有Python脚本. IDAPython显著优势在于,它可以充 ...

  8. Nginx PHP支持

    Nginx 支持 PHP server { server_name www.www1.com www1.com; location / { index index.php index.html; ro ...

  9. pyqt5-布局控件

    在布局中添加控件用addWidght(),添加布局用addLayout() 垂直布局QVBoxLayout 需要导入  from PyQt5.QtWidgets import QVBoxLayout ...

  10. tensorflow神经网络拟合非线性函数与操作指南

    本实验通过建立一个含有两个隐含层的BP神经网络,拟合具有二次函数非线性关系的方程,并通过可视化展现学习到的拟合曲线,同时随机给定输入值,输出预测值,最后给出一些关键的提示. 源代码如下: # -*- ...