六. bash脚本(bash scripts),bash变量

shell变量,shell脚本基础知识

shell变量分类:环境变量,本地变量,局部变量,位置变量,特殊变量

1.shell本地变量

  (1) 变量赋值

    name="value"

      value

        字符串 name="string"

        变量引用 name="$name"

        命令引用 name=`COMMAND`, name=$(COMMAND)

  (2) 变量引用

    $name, %{name}

      " " : 若引用,其中的变量引用会替换为变量值
      ‘ ‘ : 强引用,其中的变量引用不会替换为其变量值,保持原字符串
       `command`, $(command):命令引用

  (3) 删除本地变量

    unset name

  (4) 只读变量, 设定后不可以改变其值,也不可以销毁,只有此shell进程结束后才结束其生命

    readonly name

    declare -r name

2.shell 环境变量

  (1) 变量赋值

    export name=VALUE

    declare -x name=VALUE

    本地变量升级为环境变量 expoert name, declaere -x name

  (2) 显示环境变量

    export

    env

    printenv

3. 删除变量

  unset name

4. 显示所有变量

  set : Set or unset values of shell options and positional parameters.

5. 位置变量

  在脚本中调用通过命令行传递给脚本的参数

  $1, $2 ... :分别对应命令行的第1,第2...个参数

  $0 : 命令本身

  $* : 传递给脚本的所有参数,所有参数作为一个整体

  [email protected]:传递给脚本的所有参数,各参数是独立的

  $#:传递个脚本的参数个数

  shift [n] : 踢出n个参数

6.逻辑运算:

  && : 与

  || : 或

  ! : 非

  短路运算:

    a&&b : 若a为false, 则不执行b

    a||b : 若啊为true, 则不执行b

7. shell 编程特性:面向过程(顺序执行,循环执行,选择执行), 解释执行

8. 脚本首行指明执行该脚本使用的解释器

  #!/bin/bash
  #!/usr/bin/python
  #!/usr/bin/perl

9. pstree : display a tree of process : 显示进程树

时间: 2024-10-25 12:37:24

六. bash脚本(bash scripts),bash变量的相关文章

Linux Bash脚本基本语法知识

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 前提:读者能够基本使用一款文本编辑器以及了解文件的权限概念. 准备工作 在/home目录创建script文件用于保存所有的脚本程序: # mkdir /home/script # cd /home/script/ Bash脚本的基本输入输出 第一个bash脚本: # vim ./hello-world.sh 说明: "#!"是一个约定标记,它告诉系统这个脚本需要什么解释器来执行 作为可

bash脚本总结

bash及shell脚本编程基础 bash特性之多命令执行:使用分号分隔,命令之间无关系: ]# cmd 方式一:]# cmd1 `cmd2`:命令引用实现多命令: 方式二:]# cmd1|cmd2|cmd3|...:管道实现多命令: 方式三:]# cmd1;cmd2;cmd3;...:分号实现多命令: 逻辑组合:操作的是命令的运行状态结果即退出码: ]# cmd1 && cmd2 && ... ]# cmd1 || cmd2 ||... ]# !cmd1 退出码: 0:表

Bash脚本15分钟进阶教程

这里的技术技巧最初是来自谷歌的“Testing on the Toilet” (TOTT).这里是一个修订和扩增版本. 脚本安全 我的所有bash脚本都以下面几句为开场白: #!/bin/bashset-o nounsetset-o errexit 这样做会避免两种常见的问题: 引用未定义的变量(缺省值为“”) 执行失败的命令被忽略 需要注意的是,有些Linux命令的某些参数可以强制忽略发生的错误,例如“mkdir -p” 和 “rm -f”. 还要注意的是,在“errexit”模式下,虽然能有

Linux进阶之bash编程四(内置变量)

一:基础回顾 1:文件清空 [[email protected] test]$ >log.txt 2:正常和错误重定向输出 //正常和错误都追加输出到同样地方 [[email protected] test]$ ifconfig &>>log.1 //正常输出重定向[[email protected] test]$ ifconfig >log //错误输出重定向[[email protected] test]$ ifconfig 2>log.23:命令执行控制 //休

bash脚本编程入门

bash脚本编程(与面向过程相似) 一.基础知识 1.程序:语句和表达式 顺序执行 选择执行 循环执行 2. 程序 = 指令 + 数据 面向过程编程  :以指令为中心组织数据 面向对象编程  :以数据为中心组织指令 3.程序的执行模型 : (以C语言编程为例)编译执行:源代码->预处理->编译->汇编->链接(通过编译器)->运行 (bash脚本编程) 解释执行:源码  ->(解释器)-> 运行 bash脚本的解释器bash bash脚本一般以.sh结尾,例如vi

高级Bash脚本编程指南

http://tldp.org/LDP/abs/html/ 高级Bash脚本编程指南对脚本语言艺术的深入探索 本教程不承担以前的脚本或编程知识,但进展迅速走向一个中级/高级水平的指令...一直偷偷在细小的UNIX®智慧和学识.它作为一本教科书,一本手册,自学,并作为一个参考和知识的来源,壳牌的脚本技术.练习和大量的评论实例请读者参与,在这样的前提下,真正学习脚本的唯一途径是编写脚本.这本书是适合课堂使用的一般介绍编程的概念.本文件被授予公共领域.没有版权! 奉献对于安妮塔,所有魔术的来源内容表第

Bash 脚本 getopts为什么最后一个參数取不到

看以下的Bash脚本: #!/bin/bash interval=0 count=0 pid="" while getopts "p:d:n" arg do case $arg in p) pid=$OPTARG echo "pid: $pid" ;; d) interval=$OPTARG echo "interval:$interval" ;; n) count=$OPTARG echo "count:$coun

Bash 脚本 getopts为什么最后一个参数取不到

看下面的Bash脚本: #!/bin/bash interval=0 count=0 pid="" while getopts "p:d:n" arg do case $arg in p) pid=$OPTARG echo "pid: $pid" ;; d) interval=$OPTARG echo "interval:$interval" ;; n) count=$OPTARG echo "count:$coun

bash脚本编程之变量、变量类型、条件测试、算术运算、及特殊变量

一.学习目的 1.了解bash脚本的变量类型及变量的使用 2.了解bash中条件测试的种类及如何在bash中实现条件的判断 3.学会在bash中做算术运算 4.了解特殊变量的使用 二.学习内容 1). ①.bash的变量类型: 环境变量 .本地变量.局部变量.位置变量.特殊变量 环境变量: export VALUENAME = VALUE 作用领域是当前的shell进程及其子进程 本地变量: VALUENAME= VALUE 作用领域为整个bash的进程 局部变量:local VALUENAME