一篇文章学会shell脚本

shell语言简介
shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。通过shell用户可以访问操作系统内核服务,类似DOS下的command和后来的cmd.exe。shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量、参数、函数、流程控制等等。它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。
程序设计语言可以分为两类:编译型语言和解释型语言。
Shell可以被称作是脚本语言,因为它本身是不需要编译的,而是通过解释器解释之后再编译执行,和传统语言相比多了解释的过程所以效率会略差于传统的直接编译的语言。
shell可以做:
1.将一些复杂的命令简单化(平时我们提交一次github代码可能需要很多步骤,但是可以用Shell简化成一步)
2.可以写一些脚本自动实现一个工程中自动更换最新的sdk(库)
3.自动打包、编译、发布等功能
4.清理磁盘中空文件夹
总之一切有规律的活脚本都可以尝试一下
编译型语言和解释型语言
Shell基本语法

  1. hello world ```
    #!/bin/sh
    a=“hello world!”
    num=2
    echo “a is : $a num is : ${num}nd”
    运行结果: a is : hello world! num is : 2nd
  2. if ```#!/bin/sh
    #注意if的空格以及[]里面的空格这里错了半天啊
    if [ “$SHELL” = “/bin/bash” ];then
    echo “your login shell is the bash \n”
    echo “SHELL is : $SHELL”
    else
    echo “your login shell is not bash but KaTeX parse error: Expected 'EOF', got '#' at position 11: SHELL" fi #̲[ -f "somefile"…var” } : 判断KaTeX parse error: Expected 'EOF', got '#' at position 11: var变量是否有值 #̲[ "&a" = "b" ] : 判断 a 和 a和 ab是否相等
    [ -f “/etc/shadow” ] && echo “This computer uses shadow passwords”
    if [ -f “/etc/shadow” ];then
    echo “电脑密码使用隐藏字符”
    else
    echo “并没有”
    fi
  3. 统计/tmp目录下共有多个文件,并显示出来
cd /tmp
for i in /tmp/*
do
   echo "Hello , $i"
done
count=`ls -l|grep '^-'|wc -l`
echo "====file_count:$count===="

详请查看:
http://www.runoob.com/linux/linux-shell.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值