這是一個(gè)系列文章,主要分享shell(部分功能僅適用于bash)的使用建議和技巧,每次分享3點(diǎn),希望你能有所收獲。
1 常用快捷鍵
- Alt+Backspace:刪除光標(biāo)前的一個(gè)單詞
- Alt+F:移動(dòng)光標(biāo)到下一個(gè)空格處
- Alt+B:移動(dòng)光標(biāo)到上一個(gè)空格后第一個(gè)字符處
- Ctrl+R:搜索執(zhí)行過的命令行
- Ctrl+U:刪除光標(biāo)之前所有字符
- Ctrl+K:刪除光標(biāo)之后的所有字符
- Ctrl+A:移動(dòng)光標(biāo)到行首
- Ctrl+E:移動(dòng)光標(biāo)到行尾
這8個(gè)快捷鍵在命令行操作時(shí)會(huì)經(jīng)常用到,如果你沒有使用過,多用幾次就習(xí)慣了,另外,多記住幾個(gè)快捷鍵沒什么壞處。
2 bash調(diào)試模式
示例腳本:
#!/bin/bash -x
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo script dir is "<$script_dir>"
運(yùn)行腳本:
$ ./get_cur_dir.sh
+++ dirname ./get_cur_dir.sh
++ cd .
++ pwd
+ script_dir=/media/sf_share/git/bash_practice
+ echo script dir is '</media/sf_share/git/bash_practice>'
script dir is </media/sf_share/git/bash_practice>
通過在腳本頂部添加-x選項(xiàng),運(yùn)行腳本時(shí)會(huì)打印出每一行命令,輸出的+號(hào)個(gè)數(shù)表示命令的嵌套層數(shù),從輸出可以清楚看到每條命令的執(zhí)行情況,方便調(diào)試腳本。如果去掉-x選項(xiàng),運(yùn)行腳本只會(huì)打?。簊cript dir is </media/sf_share/git/bash_practice>
3 獲取腳本所在目錄
示例腳本:
#!/bin/bash
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo script dir is "<$script_dir>"
運(yùn)行腳本:
$ . ./get_cur_dir.sh
script dir is </media/sf_share/git/bash_practice>
$ source ./get_cur_dir.sh
script dir is </media/sf_share/git/bash_practice>
$ sh ./get_cur_dir.sh
script dir is </media/sf_share/git/bash_practice>
在shell腳本內(nèi)部,經(jīng)常需要去獲取腳本所在目錄。示例中給出的方法,無論使用source、點(diǎn)號(hào)或者sh方式運(yùn)行腳本,都可以正確獲取腳本所在目錄。