变量及赋值

设置变量   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. C++ 浅析调试,内存重叠查看

    这里举个例子查看内存, 环境为:vs 2017 测试为strcpy[因为测试老api,需要在 预处理中 添加 _CRT_SECURE_NO_WARNINGS ] 测试问题:内存溢出 源码: #incl ...

  2. 微信支持的Authorization code授权模式(公众号开发)(开放平台资料中心中的代公众号发起网页授权)

    链接:https://blog.csdn.net/ASZJBGD/article/details/82838356 主要流程分为两步: 1.获取code 2.通过code换取accesstoken 流 ...

  3. django 框架下的路由分发

  4. sql中简单的触发器功能

    触发器分为DML触发器和DDL触发器DML触发器包含After触发器,执行insert update delete语句后会触发after触发器,会事务回滚DML触发器还包含instead of触发器, ...

  5. paper 147:Deep Learning -- Face Data Augmentation(一)

    1. 在深度学习中,当数据量不够大时候,常常采用下面4中方法:  (1)人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批"新"的数据.也就是Data ...

  6. Myeclipse下使用Maven搭建spring boot2.0项目

    现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫st ...

  7. CS如何调用JS

    this.ClientScript.RegisterStartupScript(this.GetType(), "", "RunClick()", true); ...

  8. 数据结构与算法简记--redis有序集合实现-跳跃表

    跳表 定义 为一个值有序的链表建立多级索引,比如每2个节点提取一个节点到上一级,我们把抽出来的那一级叫做索引或索引层.如下图所示,其中down表示down指针,指向下一级节点.以此类推,对于节点数为n ...

  9. Codeforces New Year and Arbitrary Arrangement

    New Year and Arbitrary Arrangement time limit per test2 seconds You are given three integers k, pa a ...

  10. JNI原理与静态、动态注册

    前言 JNI不仅仅在NDK开发中应用,它更是Android系统中Java与Native交互的桥梁,不理解JNI的话,你就只能停留在Java Framework层.这一个系列我们来一起深入学习JNI. ...