Shell编程入门
2022-12-8
| 2024-2-13
0  |  Read Time 0 min
URL
type
status
date
slug
summary
tags
category
icon
password

一.Shell常识

本笔记采用==高亮==表示linux内指令,采用code表示脚本代码
  • 脚本以#!/bin/bash 开头
  • 脚本通常以.sh结尾
  • 脚本需要有可执行权限,也可以用==sh xxx.sh==执行不用权限
  • 单行注释用#,多行注释用:<<! xxxx !
  • 注意,开头的#!/bin/bash中的#!的意思是指定一个解释脚本的程序
一个HelloWorld示例程序

二.Shell变量

1.变量的定义赋值

  • 定义变量 : 变量名=值
  • 撤销变量 : unset 变量名(对静态变量无效)
  • 声明静态变量 :readonly 变量 (无法unset)
举例:
可以把指令的结果赋值给变量,指令加上``反引号或者$()。 举例:

2.环境变量

  • 常见系统环境变量HOME,PWD,SHELL,USER
  • ==set==显示系统所有的环境变量
设置环境变量
  1. 修改/etc/profile 文件(比如用vim打开)
  1. 在文件中加入 ==export 变量名=变量值==语句
  1. ==source 配置文件== (即/etc/profile)让配置立即生效
  1. 新加入的环境变量可以全局使用了

3.位置参数变量

类似于编程中函数的参数
  • 运行是后面带上位置参数 ==./文件名.sh 10 20==,此处就带了10和20两个参数
  • 在脚本代码中,用$0 $1 $2$3…来获取参数。
  • 此处$0就是10 ,·$1就是20
  • $* 代表所有参数,看做一个整体
  • $@ 代表所有参数,每个区分对待
  • $# 代表所有参数的个数

4.预定义变量

  • $$ 当前进程的进程号
  • $! 后台运行的最后一个进程的进程号
  • $? 最后一次命令运行返回的状态,0为成功执行
tips: ==./脚本或程序 &== 命令后面加个&可以后台运行

三.运算符

  1. $((运算式))
  1. $[运算式] (推荐)
  1. expr m - n 中间有空格
  1. expr \*, /, % expression表达式的*要加反斜杠

四.分支语句

  1. 字符比较,注意等号两边空格,中括号两边空格
  1. 判断目录是否存在,用 f
  1. 多分支语句
  1. case语句

常见条件判断运算符

语句
功能
“” = “”
字符串比较
-lt
小于
-le
小于等于
-eq
等于
-gt
大于
-ge
大于等于
-ne
不等于
  • shell编程
  • html常用标签及属性归纳Git常用命令
    Catalog