From c7f474b7336484b5c1b363cba8e1e5c298d808ce Mon Sep 17 00:00:00 2001 From: "pan.pan" Date: Mon, 2 Apr 2018 11:13:45 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Bash=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=8C=87=E7=A4=BA=E7=AC=A6,=20=E8=A1=A5=E5=85=85=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E9=87=8D=E5=AE=9A=E5=90=91=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- languages/bash.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/languages/bash.sh b/languages/bash.sh index c27e833..03b7cb0 100644 --- a/languages/bash.sh +++ b/languages/bash.sh @@ -309,6 +309,18 @@ num=$((num + 1)) # 变量递增,双括号内的 $ 可以省略 num=$((1 + (2 + 3) * 2)) # 复杂计算 +############################################################################## +# 事件指示符 +############################################################################## + +!! # 上一条命令 +!^ # 上一条命令的第一个单词 +!$ # 上一条命令的最后一个单词 +!string # 最近一条包含string的命令 +!^string1^string2 # 最近一条包含string1的命令, 快速替换为string2, 相当于!!:s/string1/string2/ +!# # 本条命令之前所有的输入内容 + + ############################################################################## # 函数 ############################################################################## @@ -526,6 +538,7 @@ n>| file # 强制将文件描述符 n的输出重定 n<> file # 同时使用文件作为文件描述符 n 的输出和输入 n> file # 重定向文件描述符 n 的输出到文件 n< file # 重定向文件描述符 n 的输入为文件内容 +n<<< "hello" # 重定向文件描述符 n 的输入为字符串内容 n>& # 将标准输出 dup/合并 到文件描述符 n n<& # 将标准输入 dump/合并 定向为描述符 n n>&m # 文件描述符 n 被作为描述符 m 的副本,输出用 @@ -535,6 +548,7 @@ n<&m # 文件描述符 n 被作为描述符 m 的 >&- # 关闭标准输出 n>&- # 关闭作为输出的文件描述符 n n<&- # 关闭作为输入的文件描述符 n +diff <(cmd1) <(cmd2) # 比较两个命令的输出 ############################################################################## From 53bc835db04f338705e37ccfefc9d78947e4a69a Mon Sep 17 00:00:00 2001 From: "pan.pan" Date: Mon, 2 Apr 2018 11:14:26 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0GDB=E8=BF=9B=E7=A8=8B?= =?UTF-8?q?=E8=B0=83=E8=AF=95,=20=E8=A1=A5=E5=85=85run=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E9=87=8D=E5=AE=9A=E5=90=91=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/gdb.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tools/gdb.txt b/tools/gdb.txt index 2223a7b..ff89f34 100644 --- a/tools/gdb.txt +++ b/tools/gdb.txt @@ -63,6 +63,9 @@ info watchpoints # 显示所有观察点 run # 运行程序 run {args} # 以某参数运行程序 +run < file # 以某文件为标准输入运行程序 +run < <(cmd) # 以某命令的输出作为标准输入运行程序 +run <<< $(cmd) # 以某命令的输出作为标准输入运行程序 set args {args} ... # 设置运行的参数 show args # 显示当前的运行参数 cont # 继续运行,可简写为 c @@ -185,6 +188,18 @@ set pagination on/off # 调试一个线程时,分页是否停止 set target-async on/off # 同步或者异步调试,是否等待线程中止的信息 + +############################################################################## +# 进程调试 +############################################################################## + +info inferiors # 查看当前进程和 id +inferior {id} # 切换某个进程 +kill inferior {id...} # 杀死某个进程 +set detach-on-fork on/off # 设置当进程调用fork时gdb是否同时调试父子进程 +set follow-fork-mode parent/child # 设置当进程调用fork时是否进入子进程 + + ############################################################################## # 汇编调试 ############################################################################## From c160870c64ec5e2594703bcbce52f57a84e6dd74 Mon Sep 17 00:00:00 2001 From: "pan.pan" Date: Mon, 2 Apr 2018 16:23:18 +0800 Subject: [PATCH 3/4] Expand tab for gdb.txt --- tools/gdb.txt | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/tools/gdb.txt b/tools/gdb.txt index ff89f34..f103c9b 100644 --- a/tools/gdb.txt +++ b/tools/gdb.txt @@ -63,9 +63,9 @@ info watchpoints # 显示所有观察点 run # 运行程序 run {args} # 以某参数运行程序 -run < file # 以某文件为标准输入运行程序 -run < <(cmd) # 以某命令的输出作为标准输入运行程序 -run <<< $(cmd) # 以某命令的输出作为标准输入运行程序 +run < file # 以某文件为标准输入运行程序 +run < <(cmd) # 以某命令的输出作为标准输入运行程序 +run <<< $(cmd) # 以某命令的输出作为标准输入运行程序 set args {args} ... # 设置运行的参数 show args # 显示当前的运行参数 cont # 继续运行,可简写为 c @@ -188,16 +188,15 @@ set pagination on/off # 调试一个线程时,分页是否停止 set target-async on/off # 同步或者异步调试,是否等待线程中止的信息 - ############################################################################## # 进程调试 ############################################################################## -info inferiors # 查看当前进程和 id -inferior {id} # 切换某个进程 -kill inferior {id...} # 杀死某个进程 -set detach-on-fork on/off # 设置当进程调用fork时gdb是否同时调试父子进程 -set follow-fork-mode parent/child # 设置当进程调用fork时是否进入子进程 +info inferiors # 查看当前进程和 id +inferior {id} # 切换某个进程 +kill inferior {id...} # 杀死某个进程 +set detach-on-fork on/off # 设置当进程调用fork时gdb是否同时调试父子进程 +set follow-fork-mode parent/child # 设置当进程调用fork时是否进入子进程 ############################################################################## From 7b60ffcfca8e06ead8727bd64410baddcd54470b Mon Sep 17 00:00:00 2001 From: "pan.pan" Date: Mon, 2 Apr 2018 16:31:56 +0800 Subject: [PATCH 4/4] Align the '#' --- tools/gdb.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/gdb.txt b/tools/gdb.txt index f103c9b..2f662be 100644 --- a/tools/gdb.txt +++ b/tools/gdb.txt @@ -63,9 +63,9 @@ info watchpoints # 显示所有观察点 run # 运行程序 run {args} # 以某参数运行程序 -run < file # 以某文件为标准输入运行程序 +run < file # 以某文件为标准输入运行程序 run < <(cmd) # 以某命令的输出作为标准输入运行程序 -run <<< $(cmd) # 以某命令的输出作为标准输入运行程序 +run <<< $(cmd) # 以某命令的输出作为标准输入运行程序 set args {args} ... # 设置运行的参数 show args # 显示当前的运行参数 cont # 继续运行,可简写为 c