linux,shell编程入门

作者: 莫名_百通 | 来源:发表于2017-09-27 08:46 被阅读51次

    shell编程:

    shell既是一种命令语言,又是一种程序设计语言。

    bash 内定的shell

    行命令扩充 \

    shell 脚本的运行方法

    (1) ./ 文件名

    (2)bash 文件名

    (3)export PASH=当前路径:PATH

    文件名

    编写一个简单的脚本文件:

    #!/bin/bash

    echo " this is a file name is $0;"*

    echo "welcome to read it ."

    shell程序的位置参数与脚本

    (1)bash 变量不需要声明,默认情况下变量被看做是字符串

    位置参数是指由系统提供的参数

    $0表示程序的名字,

    $1表示传递给程序的第一个参数,以此类推($2$3$4$5)

    $# :传递给程序的总的参数数目

    $* :传递给程序的所有参数,与$@有差异

    $? :shell程序在shell中退出的情况,正常退出返回0,反之为非0值(shell程序的退出状态取决于它的最后一条命令的退出状态)

    $$:shell脚本进程ID号

    $! :最后一次后台进程的ID号

    shell变量

    $HOME:当前用户目录

    $PASH: 搜索目录链表,以冒号分割

    $PS1: 命令提示符 普通用户$ root 用户 #

    $PS2:二级提示符,提示后续输入

    $IFS 内部域分隔符

    变量声明:

    declare [options] [name[=value]]

    typeset [options] [name[=value]]

    常用选项options:

    -a 声明一个数组

    -f 声明一个函数

    -i 声明一个整数

    -r 声明只读变量

    -x 全局变量(可以被子进程访问到)

    查看变量: set | grep name

    删除变量: unset name

    变量引用:$ name

    shell 中的双引号、单引号、反斜线的使用

    单引号:用单引号将值括起来,则不允许对括号中的变量进行替换,且不做shell解释,即屏蔽了括号中特殊字符的含义

    反斜线(\):去除某些字符(如$)的特殊含义并按照字面意思处理

    控制结构语句:

    if a then b fi

    if a then b else c fi

    if a then b elif a2 then c else d fi

    for语句语法:

    for variable [in argument-list] // i in

    do

    command-list

    done

    while语句

    while expression :表示无限循环

    do

    command-list

    done

    until语句

    until expression //直到条件为真时退出循环体

    do

    command-list

    done

    case语句

    case variable in

    pattern1) command-list1

    ;;

    pattern2) command-list2

    ;;

    patternN) command-listN

    ;;

    esac

    相关文章

      网友评论

        本文标题:linux,shell编程入门

        本文链接:https://www.haomeiwen.com/subject/xkuyextx.html