变量及赋值

设置变量   A=‘china’  取消变量  unset  A    加上 export 关键字  代表全局变量

a=$(ls -l /root/bin)   ##运行里面的命令,并把结果返回给变量 a

特殊变量\

$$ 表示当前进程编号

$0 表示当前脚本名称

$n 表示 n 位置的输入参数( n 代表数字, n>=1)

$# 表示参数的个数,常用于循环

 $* 表示所有参数列表     “ $* “   加双引号时循环参数时不换行输出 

echo命令  

echo $A     china

echo “l love $A”    l love china

echo  “l love ${A}town”    I  love chinatown

运算符号  

a=$(((2+3)*5))   或者  a = $ [(2+3)*5]      双括号或中括号   取值要带 ”$“

流程控制

在linux中,0为true,1为false    $? 可返回刚刚运行结果的真与否

 if 后面的 []  =  两侧都有空格

短路运算符(理解为三元运算符) [ condition ] && echo OK || echo notok    条件满足,执行&&后面的语句;条件不满足,执行||后面的语句

if 条件中 判断  且和或的两种方式    -a  和 - o   代表  且 和 或    [ [ ] ] 两个中括号可以使用  &&  ||   符号 来代表 且和或

常用判断运算符

(1) 字符串比较     = 判断相等     != 判断不相等       -z 字符串长度是为 0 返回 true         -n 字符串长度是不为 0 返回 true

(2) 整数比较
         -lt 小于
         -le 小于等于
    -eq 等于
   -gt 大于-ge 大于等于
   -ne 不等于

(3)文件判断

-d 是否为目录
if [ -d /bin ]; then echo ok; else echo notok;fi
-f 是否为文件
if [ -f /bin/ls ]; then echo ok; else echo notok;fi
-e 是否存在
if [ -e /bin/ls ]; then echo ok; else echo notok;fi

循环

while循环

for循环

for N in 1 2 3; do echo $N; done

for N {1..3} ;do echo $N; done

for ((i=0;i<=2;i++)) do echo $N; done

函数

hello()

{   echo date}

hello 

shell编程基础干货的更多相关文章

  1. 【转】Shell编程基础篇-下

    [转]Shell编程基础篇-下 1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 ...

  2. 【转】Shell编程基础篇-上

    [转]Shell编程基础篇-上 1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应 ...

  3. shell编程基础(转载)

    Shell编程基础 原作者 Leal:请参阅页面底部的编者列表. 授权许可: 创作共享署名协议 GNU 自由文档许可证 注意:本文仍然在持续的修订之中,且错漏之处可能较多.如果能够阅读英语的话,可以考 ...

  4. 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!

    http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...

  5. Linux学习之二十一-shell编程基础

    Shell编程基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...

  6. 7-1 shell编程基础之二

    shell编程基础之二 算数运算 bash中的算术运算:help let +, -, *, /, %取模(取余), **(乘方),乘法符号有些场景中需要转义 实现算术运算: (1) let var=算 ...

  7. 6-2 shell编程基础

    shell编程基础 编程基础 Linus:Talk is cheap, show me the code 程序和编程风格 程序: 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结 ...

  8. shell编程基础进阶

    为什么学习shell编程 shell脚本语言是实现linux/unix 系统管理机自动化运维所必备的重要工具,linux/unix系统的底层及基础应用软件的核心大部分涉及shell脚本的内容.每一个合 ...

  9. 基于Linux系统的Shell编程-基础篇

    1. Shell基础介绍 1.1 Shell编程的意义 为什么使用shell编程 节约时间 1.2 显示脚本执行过程 前面有+表示执行过的命令的 前面没有东西,表示输出到屏幕上的内容. [root@C ...

随机推荐

  1. ganglia监控部署

    1.ganglia组件 ganglia 相比于falcon和zabbix主要在于集群的状态集中显示,可以很便捷的对比各主机的性能状态. gmond:相当于是agent端,主要用于收集各node的性能状 ...

  2. Spring讲解(三)

    依赖注入Bean属性,使用xml配置 1.构造方法注入 案例代码演示 public class User { private String username; private String passw ...

  3. SpringBoot 中定时执行注解(@Scheduled、@EnableScheduling)

    项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息.Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor .TaskScheduler 接口. ...

  4. 虚拟机(JVM)如何加载类

    首先JVM加载类的一般流程分三步: 加载 链接 初始化 那么是否全部Java类都是这样三步走的方式加载呢?我们可以从Java的数据类型去出发.Java分基本类型和引用类型.其中按照面向对象的特性,一切 ...

  5. 【leetcode】989. Add to Array-Form of Integer

    题目如下: For a non-negative integer X, the array-form of X is an array of its digits in left to right o ...

  6. c++11引入特性

    * 支持类内初始化. class A{ vector<string> strs{"abc", "def"}; };

  7. mysql 查询表的最大时间 的数据

    SELECT * from (SELECT MAX(a.update_date) as q ,a.monitoring_point_id from biz_monitoring_point_recor ...

  8. UNP学习 Unix域协议

    Unix域协议并不是一个实际的协议族,它只是在同一台主机上进行客户-服务器通信时,使用与在不同主机上的客户和服务器间通信时相同的API的一种方法. 当客户和服务器在同一台主机上时,Unix域协议是这套 ...

  9. paper 135:关于C#泛型的知识点

    计划着要用一个月的时间把  C#语言Windows程序设计 搞定,现在是零零散散的知识点,日积月累吧!朋友们,看这里咯~呵呵 原文地址:http://www.blogjava.net/Jack2007 ...

  10. 使用js在页面上新建文件夹

    使用js在页面上新建文件夹 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...