最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Bash腳本內(nèi)置的調(diào)試方法技巧

 更新時間:2015年04月25日 11:35:54   投稿:junjie  
這篇文章主要介紹了Bash腳本內(nèi)置的調(diào)試方法技巧,本文介紹了調(diào)試技巧和幾個調(diào)試技巧,比如輸出行號的方法、只調(diào)試某段程序的方法,需要的朋友可以參考下

用 Bash 寫的腳本也可以進(jìn)行調(diào)試,和 Python,Perl 等解釋型語言一樣。新建一個名為 servinfo 的腳本并增加可執(zhí)行權(quán)限:

復(fù)制代碼 代碼如下:

$ vi servinfo

#!/bin/bash

echo "Hostname: $(hostname)"
echo "Date: $(date)"
echo "Kernel: $(uname -mrs)"

$ chmod +x servinfo


用 bash -x 來調(diào)試上述腳本,Bash 先打印出每行腳本,再打印出每行腳本的執(zhí)行結(jié)果:
復(fù)制代碼 代碼如下:

$ bash -x servinfo
++ hostname
+ echo 'Hostname: vpsee'
Hostname: vpsee
++ date
+ echo 'Date: Thu Sep  3 19:33:48 SAST 2009'
Date: Thu Sep  3 19:33:48 SAST 2009
++ uname -mrs
+ echo 'Kernel: Linux 2.6.18-128.4.1.el5 i686'
Kernel: Linux 2.6.18-128.4.1.el5 i686

如果想同時打印行號的話,可以在腳本開頭加上:
復(fù)制代碼 代碼如下:

export PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: '

執(zhí)行結(jié)果為:
復(fù)制代碼 代碼如下:

$ bash -x servinfo
+ export 'PS4=+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: '
+ PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: '
++4:5:: hostname
+4:5:: echo 'Hostname: vpsee'
Hostname: vpsee
++4:6:: date
+4:6:: echo 'Date: Thu Sep  3 19:42:06 SAST 2009'
Date: Thu Sep  3 19:42:06 SAST 2009
++4:7:: uname -mrs
+4:7:: echo 'Kernel: Linux 2.6.18-128.4.1.el5 i686'
Kernel: Linux 2.6.18-128.4.1.el5 i686

如果只想調(diào)試其中幾行腳本的話可以用 set -x 和 set +x 把要調(diào)試的部分包含進(jìn)來:
復(fù)制代碼 代碼如下:

#!/bin/bash

echo "Hostname: $(hostname)"
set -x
echo "Date: $(date)"
set +x
echo "Kernel: $(uname -mrs)"


這個時候可以直接運(yùn)行腳本,不需要執(zhí)行 bash -x 了:
復(fù)制代碼 代碼如下:

$ ./servinfo
Hostname: vpsee
++ date
+ echo 'Date: Thu Sep  3 19:46:53 SAST 2009'
Date: Thu Sep  3 19:46:53 SAST 2009
+ set +x
Kernel: Linux 2.6.18-128.4.1.el5 i686

如果要調(diào)試一個非常復(fù)雜的 Bash 腳本的話,建議用專門的調(diào)試工具,比如:bashdb

相關(guān)文章

  • 反彈shell升級全交互式shell

    反彈shell升級全交互式shell

    本文主要介紹了反彈shell升級全交互式shell,以提高遠(yuǎn)程控制能力,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • linux下的tar命令詳細(xì)解釋

    linux下的tar命令詳細(xì)解釋

    在Linux中,壓縮與解壓用得最多的tar.tar命令確實(shí)很厲害。下面通過本文給大家分享linux下的tar命令詳細(xì)解釋,感興趣的朋友一起看看吧
    2017-08-08
  • Linux Shell腳本系列教程(二):終端打印命令詳解

    Linux Shell腳本系列教程(二):終端打印命令詳解

    這篇文章主要介紹了Linux Shell腳本系列教程(二):終端打印命令詳解,本文著重講解了echo終端打印、printf終端打印兩個打印出輸出命令,需要的朋友可以參考下
    2015-06-06
  • linux刪除無效鏈接文件腳本分享

    linux刪除無效鏈接文件腳本分享

    一個 shell 腳本文件,用于刪除指定目錄下無效鏈接文件,可利用標(biāo)準(zhǔn)輸入指派多個處理目標(biāo)
    2014-03-03
  • 定時導(dǎo)出mysql本地數(shù)據(jù)替換遠(yuǎn)程數(shù)據(jù)庫數(shù)據(jù)腳本分享

    定時導(dǎo)出mysql本地數(shù)據(jù)替換遠(yuǎn)程數(shù)據(jù)庫數(shù)據(jù)腳本分享

    這篇文章主要介紹了mysql每天定時倒出本地數(shù)據(jù),替換遠(yuǎn)程數(shù)據(jù)庫數(shù)據(jù)的腳本,需要的朋友可以參考下
    2014-03-03
  • linux shell數(shù)組深入學(xué)習(xí)理解

    linux shell數(shù)組深入學(xué)習(xí)理解

    本文為大家介紹linux shell數(shù)組的相關(guān)知識,并提供了充足的例子供參考,這么好的東東,千萬不要錯過
    2013-02-02
  • 利用shell命令刪除指定的文件的方法

    利用shell命令刪除指定的文件的方法

    本文主要介紹了利用shell命令刪除指定的文件的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Bash?EOF的使用小結(jié)

    Bash?EOF的使用小結(jié)

    本文主要介紹了Bash?EOF的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 在Linux中復(fù)制文件夾的命令詳解

    在Linux中復(fù)制文件夾的命令詳解

    這篇文章給大家介紹了Linux的基礎(chǔ)操作,如何在 Linux 中復(fù)制文件夾,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • shell腳本之sed詳細(xì)用法詳解

    shell腳本之sed詳細(xì)用法詳解

    Sed是一個非交互性文本流編輯器,它編輯文件或標(biāo)準(zhǔn)輸入導(dǎo)出的文本拷貝,vi中的正則表達(dá)式命令在sed中大多可以通用,下面這篇文章主要給大家介紹了關(guān)于shell腳本之sed詳細(xì)用法的相關(guān)資料,需要的朋友可以參考下
    2022-07-07

最新評論

紫阳县| 抚顺市| 抚顺县| 化州市| 石阡县| 安阳市| 文昌市| 肥城市| 忻城县| 华宁县| 吴堡县| 泌阳县| 嘉义市| 仁怀市| 吐鲁番市| 乐安县| 皮山县| 健康| 榆中县| 交城县| 镇江市| 万山特区| 常州市| 西丰县| 甘洛县| 柘荣县| 滕州市| 唐河县| 青冈县| 元氏县| 凤山县| 唐河县| 河源市| 独山县| 德阳市| 呼玛县| 澄江县| 财经| 廊坊市| 扶余县| 宜君县|