Shell编程
简介 shell是解释性语言,解释器如bash、sh Shell教程 基本语法基本概念 程序有两类返回值:执行结果、执行状态(即 $? 的值,0 表示正确,1-255 错误) 特殊符号 注释:#单行注释,<<COMMENT xxx COMMENT多行注释 linux 引号 反引号:`cmd` 命令替换,类似$(cmd) 双引号: “” 变量替换 单引号:‘’ 字符串 命令替换:使用 `cmd`(反引号)包裹或 $(cmd)(美元括号) walldate 所有人都收到当前时间 wall date 所有人都收到date这个字符串 管道符| 将一个命令的输出传送给另外一个命令,作为另外一个命令的输入。如:命令1|命令2|...|命令n 使用管道符连接的左右两边的命令都是运行在子shell中,存在变量无法传递的问题($变量无法传递,但是$$可以传递);此时可通过export导出变量,通过export导出的变量在创建子进程的时候相当于快照一份给子进程,即父子进行修改export变量不会相互影响 copy on write 写时复制,fork()创建子进程时即通过此方式。当创建子进程时,不复制变量(此时是不同的指针指向相同物理内存,这样创建子进程速度会很快);当出现变量发生修改时,再复制出一个新的物理内存 当运行脚本时也相当于创建了一个子进程(脚本文件头为#!/bin ...