shell技巧分享(四)

這是一個系列文章,主要分享shell(部分功能僅適用於bash)的使用建議和技巧,每次分享3點,希望你能有所收穫。

1 常用快捷鍵

  • Alt+Backspace:刪除光標前的一個單詞
  • Alt+F:移動光標到下一個空格處
  • Alt+B:移動光標到上一個空格後第一個字符處
  • Ctrl+R:搜索執行過的命令行
  • Ctrl+U:刪除光標之前所有字符
  • Ctrl+K:刪除光標之後的所有字符
  • Ctrl+A:移動光標到行首
  • Ctrl+E:移動光標到行尾

這8個快捷鍵在命令行操作時會經常用到,如果你沒有使用過,多用幾次就習慣了,另外,多記住幾個快捷鍵沒什麼壞處。

2 bash調試模式

示例腳本:

#!/bin/bash -x

script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo script dir is "<$script_dir>"

運行腳本:

$ ./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選項,運行腳本時會打印出每一行命令,輸出的+號個數表示命令的嵌套層數,從輸出可以清楚看到每條命令的執行情況,方便調試腳本。如果去掉-x選項,運行腳本只會打印:script dir is

3 獲取腳本所在目錄

示例腳本:

#!/bin/bash

script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo script dir is "<$script_dir>"

運行腳本:

$ . ./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腳本內部,經常需要去獲取腳本所在目錄。示例中給出的方法,無論使用source、點號或者sh方式運行腳本,都可以正確獲取腳本所在目錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章