Skip to content

Commit

Permalink
Merge pull request #110 from shynur/patch-1
Browse files Browse the repository at this point in the history
Bash 勘误
  • Loading branch information
skywind3000 authored Aug 26, 2024
2 parents 61a00d0 + 4a6761a commit bff673f
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions languages/bash.sh
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ rz # 接收终端发送过来的文件

varname=value # 定义变量
varname=value command # 定义子进程变量并执行子进程
echo $varname # 查看变量内容
echo "$varname" # 查看变量内容
echo $$ # 查看当前 shell 的进程号
echo $! # 查看最近调用的后台任务进程号
echo $? # 查看最近一条命令的返回码
Expand Down Expand Up @@ -306,21 +306,22 @@ echo "${B[1]}" # a b c
echo "${C[@]}" # bar a b c 42
echo "${C[@]: -2:2}" # a b c 42 减号前的空格是必须的

$(UNIX command) # 运行命令,并将标准输出内容捕获并返回
$(UNIX command) # 在 subshell 中运行命令 (不会改变当前 shell 的环境),并将标准输出内容捕获并返回
varname=$(id -u user) # 将用户名为 user 的 uid 赋值给 varname 变量

num=$(expr 1 + 2) # 兼容 posix sh 的计算,使用 expr 命令计算结果
num=$(expr $num + 1) # 数字自增
expr 2 \* \( 2 + 3 \) # 兼容 posix sh 的复杂计算,输出 10

num=$((1 + 2)) # 计算 1+2 赋值给 num,使用 bash 独有的 $((..)) 计算
num=$[1 + 2] # 计算 1+2 赋值给 num,使用 bash 独有的 $[..] 计算
num=$((1 + 2)) # 同上, 但该语法由 POSIX shell 指定
num=$(($num + 1)) # 变量递增
num=$((num + 1)) # 变量递增,双括号内的 $ 可以省略
num=$((1 + (2 + 3) * 2)) # 复杂计算


##############################################################################
# 事件指示符
# 事件指示符 (仅在交互式 shell 生效)
##############################################################################

!! # 上一条命令
Expand Down Expand Up @@ -508,7 +509,7 @@ for ((i = 0; i < 10; i++)); do echo $i; done

# case 判断
case expression in
pattern1 )
pattern1a | pattern1b | ... )
statements ;;
pattern2 )
statements ;;
Expand Down Expand Up @@ -879,6 +880,7 @@ https://github.com/LeCoupa/awesome-cheatsheets/blob/master/languages/bash.sh
https://devhints.io/bash
https://github.com/jlevy/the-art-of-command-line
https://yq.aliyun.com/articles/68541
https://tiswww.case.edu/php/chet/bash/article.pdf

# vim: set ts=4 sw=4 tw=0 et :

0 comments on commit bff673f

Please sign in to comment.