computer_knowledge_notes/Languages/LinuxShell/bash.md

2.0 KiB
Raw Blame History

简介

选项

-x	# 当命令执行的时候,打印出该命令及其参数

参数

调用

定义

保留字

语法

简单命令
管道
列表
复合命令
协进程
定义函数
[function] name [()] compound-command [redicrection]
	# 保留字function是可选的
	# name是函数名
	# compound-command详见#复合命令
	# redicrection详见#重定向

注释

引用

参数

扩展

重定向

别名

函数

算术求值

条件表达式

# 文件比较
-f文件存在, -d目录存在, -e,文件或目录存在,-s文件存在且非空, -r文件存在且可读, -w, -x

# 字符串比较
==, =, !=, < , >, -n字符串非空, -z字符串为空

# 数字比较
-eq, -ne, -lt, -le, -gt, -ge

# 逻辑运算
-a且-o或&&且, ||或

简单命令扩展

命令执行

命令执行环境

环境

退出状态

信号

作业控制

READLINE

shell内建命令

: [args]
. <filename> [args]
source <filename> [args]
alias [-p] [name[=value] ...]
bg [jobspec ...]
bind
... ...
pushd [dir]	# 指定目录栈的栈顶,并切换到栈顶所指的目录;如果不加任何参数,则交换最顶端两个参数的位置。
  # -n参数只将目录加入栈中而不切换目录
  # +N则会把第N个目录加入栈顶(从左边数起从0开始)
  # -N则会把第N个目录加入栈顶从右边数起从0开始
  # dir参数用于将dir加到栈顶并切换到dir
popd	# 删除目录栈中的某个目录;如果不加任何参数,则删除栈顶的目录,并切换到新栈顶所指的目录。
  # -n参数只删除栈顶的目录而不切换目录
  # +N则会删除第N个目录(从左边数起从0开始)
  # -N则会删除第N个目录(从右边数起从0开始)
... ...
wait [-n] [n ...]

受限的shell

参考资料

  1. bash手册
  2. man bash