linux系统编程开篇——shell脚本

系统编程将要学习的内容包括:shell脚本、文件、进程、网络、数据库和网页(html、Db)。

一、shell脚本编程

1、本质:shell命令的集合

2、作用:完成配置。

3、原理:命令——>shell(命令解释器)——>kernel(内核),发送完成后最后再依次返回到命令。其中shell在linux中具体的应用程序为Bash;在unix中还有Ksh、Csh、Ash。

4、编写流程:

        (1)vim xx.sh      文件内包括#!/bin/bash(说明用的具体命令解释器)

        (2)编写脚本   (echo相当于c中的printf,可输出内容)

        (3)chmod   +x    XX.sh(给文件加可执行权限)

        (4)./XX.sh(运行)

注意:当执行命令 ll 后,会显示文件详细情况。

文件7种类型:- 普通文件;d 目录;b 块设备;c 字符设备;l 软链接;p 管道;s 套接字(网络)。

        对于作者、组用户、其他人;可通过可读/写/执行表示1,不可表示0,来得出几位八进制数。用来在给文件加可执行权限时使用。eg:

二、shell变量

1、系统环境变量  (env命令)

例如:PATH:系统路径;保存当前工作的默认路径。

2、位置变量

命令$0:脚本文件名;$1:传入脚本第一个参数......$(10):传入脚本第10个参数......;  $#:传入参数的个数(不包含自己);$?:上一句shell命令执行的结局(返回0一般表示成功);$$:当前shell的PID(进程编号)。

例如:类比c中 int main(int argc , char *argv[ ]) 命令行参数

3、(自定义变量)shell脚本输入输出

脚本中,为弱类型语言,不用定义变量。

read(相当于scanf);echo(打印输出):(1)当echo后跟"双引号",遇到$变量,则输出变量中的值;(2)当echo后跟'单引号',遇到$变量依然打印$变量;(3)当echo后跟`反单引号`,将中间的字符串按照命令打印。

写变量时不加$,读变量时要加$。

定义的变量仅在该命令窗口、文件下应用(类似于局部变量)。想在其他窗口下应用,可变为环境变量,用PATH命令。

例如:实现+ - * /运算      注意:乘号要用/*,不能用*;*在shell中是通配符,表示显示所有的指定后缀文件。

四、分支语句

1、if语句

条件用:[表达式] test 表达式(为0是真)

用man查命令、函数等,共七章左右;章节1为命令,2、3为函数。

Test(1):

1)INTEGER1   -eq   INTEGER2     表示等于;INTEGER1   -ne   INTEGER2     表示不等于;

INTEGER1   -ge   INTEGER2     表示大于等于;INTEGER1   -gt   INTEGER2     表示大于;

INTEGER1   -le   INTEGER2     表示小于等于;INTEGER1   -lt   INTEGER2     表示等小于;

2)字符串       -n STRING     表示 !=0; -z STRING     表示 ==0; STRING   =  STRING ;

3)-b  FILE    表示文件存在并为块设备;        -c  FILE    表示文件存在并为字符设备;

-d  FILE    表示文件存在并为目录;        -e  FILE    判断文件是否存在;

-f  FILE    表示文件存在并为普通文件;        -h/-l  FILE    表示文件存在并为软链接(快捷方式);

-p  FILE    表示文件存在并为管道文件;        -s  FILE    表示文件存在并为套接字(网络);

4)-a  表示and; -o  表示or。

注意:输出定向符' > '(写文件);/dev 硬件设备(sro光驱、sda硬盘);cat直接读出文件内容。

2、case(多分支语句)

3、循环语句(while、for、until(条件为假时执行)

注意:(1)seq  [OPTION(选项,可有可无)]...FIRST(开始)  INCREMEN(每位数间隔多少)   LAST(结束),表示打印一个数字序列。

        (2)想要对齐代码时,快捷键,可选中全部内容按 ' = ' 键。在命令模式下,gg光标到代码最上面;GG光标到代码最下面。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值