shell腳本執(zhí)行方式與調(diào)試技巧

  1. shell腳本首行
    #!/bin/bash
    這里/bin/bash只是一個例子,shell腳本首行一般以#!開頭,后面跟的解釋器即為執(zhí)行此腳本的解釋器,除了首行,跟在#后面的字符會被認(rèn)為是注釋

  2. shell腳本的執(zhí)行方式與區(qū)別

    • shell腳本執(zhí)行時,會向系統(tǒng)內(nèi)核請求啟動一個全新的進(jìn)程,讀取用戶環(huán)境變量,在該進(jìn)程中執(zhí)行腳本中的命令
    • bash script-name
      當(dāng)腳本沒有可執(zhí)行權(quán)限時,使用此命令也可執(zhí)行,新建子進(jìn)程,在子進(jìn)程中運行scriptname
    • path/script-name
      在當(dāng)前目錄下執(zhí)行腳本,要求腳本必須有可執(zhí)行權(quán)限,該方式也是在子進(jìn)程中執(zhí)行shell腳本
    • source 或 . script-name
      在當(dāng)前目錄下執(zhí)行腳本,該方式會在當(dāng)前shell環(huán)境中執(zhí)行指令
    • sh script-name 或 cat script-name | bash
  3. shell配置文件
    shell配置文件有/etc/profile,/etc/bashrc,~/bashrc, ~/bash_profile,/etc/profile.d/*
    加載順序如下


  4. shell腳本調(diào)試技巧

    • 使用echo命令輸出中間結(jié)果
      打印中間結(jié)果是調(diào)試程序的基本需求,任何可以看到中間結(jié)果的方法都有助于調(diào)試程序
    • 使用sh命令行參數(shù)調(diào)試程序
      • sh -n查詢該腳本語法是否有問題
      • sh -v執(zhí)行腳本時,先將命令輸出至屏幕,在標(biāo)準(zhǔn)輸出中可以看到命令,如果有錯誤,會給出相應(yīng)提示
      • sh -x在標(biāo)準(zhǔn)輸出中,給出執(zhí)行的命令和該命令的輸出
    • 使用set命令縮小調(diào)試范圍
      • set -x開始
      • set +x結(jié)束
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容