linux,shell编程入门

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

    原文作者:莫名_百通
    原文地址: https://www.jianshu.com/p/338480e795dc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞