91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Shell腳本檢查工具ShellCheck介紹

roborobo_0706 ? 來源:WetWan ? 2023-12-27 13:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ShellCheck是一個(gè)用于bash/sh shell腳本的靜態(tài)分析工具,可以輔助檢查腳本語(yǔ)法錯(cuò)誤,給出建議增強(qiáng)腳本健壯性。

作者創(chuàng)建了一個(gè)在線網(wǎng)站 https://www.shellcheck.net/ ,你可以直接將代碼貼到編輯框中進(jìn)行在線檢查。

c084337a-a478-11ee-8b88-92fbcf53809c.png

當(dāng)然你也可以將工具部署到本地計(jì)算機(jī)使用。

本地部署

聯(lián)網(wǎng)安裝

最簡(jiǎn)單的方式是使用包管理器安裝?;旧细鞣N平臺(tái)都能直接安裝,比如筆者的archlinux機(jī)器:

$sudopacman-Sshellcheck

安裝成功后,測(cè)試腳本

$shellchecktest.sh

離線安裝

在Github上直接下載對(duì)應(yīng)平臺(tái)預(yù)編譯好的可執(zhí)行文件,解壓縮到本地即可使用。

c09ec4b0-a478-11ee-8b88-92fbcf53809c.png

代碼編輯器集成

可以根據(jù)官方說明安裝VIM、VSCODE等編輯器插件直接在編譯器中使用。

使用示例

示例一

$cattest.sh
#!/bin/bash

cat$0

foriin{1..10}
do
echo$i
done
$shellchecktest.sh

shellcheck輸出內(nèi)容如下:

c0adc1ae-a478-11ee-8b88-92fbcf53809c.png

可以看出,shellcheck使用的關(guān)鍵字是info,說明腳本本身沒有語(yǔ)法錯(cuò)誤,但給出了一些建議使腳本更加健壯。

示例二

再看一個(gè)包含警告和錯(cuò)誤的腳本。

$cattest1.sh
#!/bin/bash

var1=42
var2=70
echo$(($var1+$var2))

$shellchecktest1.sh

shellcheck輸出內(nèi)容如下:

c0bf2a70-a478-11ee-8b88-92fbcf53809c.png

首先是warning信息,第3行變量賦值有一個(gè)空格,實(shí)際上是不對(duì)的。

第4行給出error信息,變量與=之間不能有空格,語(yǔ)法錯(cuò)誤。

第5行意圖是輸出兩個(gè)變量的和,但(())內(nèi)變量不需要使用$符合。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7806

    瀏覽量

    93180
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    375

    瀏覽量

    25372
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    172

    瀏覽量

    9148

原文標(biāo)題:Shell腳本檢查工具ShellCheck

文章出處:【微信號(hào):ExASIC,微信公眾號(hào):ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux Shell文本處理神器合集:15個(gè)工具+實(shí)戰(zhàn)例子,效率直接翻倍

    在 Linux 系統(tǒng)中,文本是數(shù)據(jù)交互的 “通用語(yǔ)言”—— 日志文件、配置文件、數(shù)據(jù)報(bào)表、程序輸出幾乎都以文本形式存在。手動(dòng)編輯文本不僅繁瑣,還容易出錯(cuò),而掌握 Shell 文本處理工具,能讓你用幾行命令完成批量篩選、數(shù)據(jù)提取、統(tǒng)計(jì)分析,甚至復(fù)雜的文本清洗。
    的頭像 發(fā)表于 02-03 15:42 ?1439次閱讀
    Linux <b class='flag-5'>Shell</b>文本處理神器合集:15個(gè)<b class='flag-5'>工具</b>+實(shí)戰(zhàn)例子,效率直接翻倍

    AI智能體工具及其配置介紹

    。這篇短文,簡(jiǎn)單介紹一些代表性的智能體工具,解釋如何配置工具應(yīng)用你想要的大模型服務(wù),并給出作者喜歡的應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 12-30 10:49 ?763次閱讀
    AI智能體<b class='flag-5'>工具</b>及其配置<b class='flag-5'>介紹</b>

    無圖形界面模式下自定義檢查工具的應(yīng)用

    此前文章已介紹 ANSA 中的自定義檢查工具。本文將探討該功能在無圖形界面(No-GUI)模式下的應(yīng)用,旨在滿足標(biāo)準(zhǔn)化工作流程的需求,適用于需要高度自動(dòng)化的前處理場(chǎng)景。通過集成自定義檢查
    的頭像 發(fā)表于 11-30 14:13 ?577次閱讀
    無圖形界面模式下自定義<b class='flag-5'>檢查</b><b class='flag-5'>工具</b>的應(yīng)用

    【瑞薩RA6E2】1.使用串口shell點(diǎn)亮LED燈

    (buffer, fmt, vargs); va_end(vargs); } #endif /** * @brief shell 檢查命令權(quán)限 * * @param shell shel
    發(fā)表于 11-09 17:26

    【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目-實(shí)現(xiàn)開機(jī)起動(dòng)

    0接上文【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目 Linux 起動(dòng)系統(tǒng)下 init 系統(tǒng)大多數(shù) Linux 發(fā)行版
    發(fā)表于 11-03 17:25

    關(guān)于系統(tǒng)鏈接腳本介紹

    一、隊(duì)伍介紹 本篇為蜂鳥E203系列分享第四篇,本篇介紹的內(nèi)容是系統(tǒng)鏈接腳本。 二、如何實(shí)現(xiàn)不同的下載模式? 實(shí)現(xiàn)三種不同的程序運(yùn)行方式,可通過makefile的命令行指定不同的鏈接腳本
    發(fā)表于 10-30 08:26

    【技術(shù)分享】正確編寫SysV Init腳本以實(shí)現(xiàn)Systemd兼容(上)

    嵌入式的ubuntu系統(tǒng)如何寫好SysVInit腳本呢?與system服務(wù)又有什么差別呢?一起隨著文章來探究吧。問題背景許多傳統(tǒng)Linux服務(wù)仍使用SysVInit腳本(/etc/init.d
    的頭像 發(fā)表于 10-28 11:45 ?710次閱讀
    【技術(shù)分享】正確編寫SysV Init<b class='flag-5'>腳本</b>以實(shí)現(xiàn)Systemd兼容(上)

    shell基本介紹及常用命令之shell基本介紹

    執(zhí)行結(jié)果呈現(xiàn)給用戶;同時(shí)Shell也是一種解釋性的編程語(yǔ)言或者腳本語(yǔ)言,開發(fā)容易可以在短時(shí)間內(nèi)完成功能強(qiáng)大又好用的腳本,可以在不同的系統(tǒng)上移植非常方便。Shell的特性不同的發(fā)行版本使
    發(fā)表于 09-28 09:05

    怎樣確保自動(dòng)化工具在電能質(zhì)量在線監(jiān)測(cè)裝置的安全防護(hù)檢查中的準(zhǔn)確性?

    ? 確保自動(dòng)化工具在電能質(zhì)量在線監(jiān)測(cè)裝置安全防護(hù)檢查中的準(zhǔn)確性,需圍繞 “ 工具本質(zhì)可靠性、場(chǎng)景適配性、結(jié)果可驗(yàn)證性、全生命周期管控 ” 四大核心,從工具選型、校準(zhǔn)溯源、算法優(yōu)化、配置
    的頭像 發(fā)表于 09-23 17:42 ?603次閱讀

    請(qǐng)問如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?

    如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?
    發(fā)表于 08-28 07:57

    如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?

    如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?
    發(fā)表于 08-25 06:59

    harmony-utils之TypeUtil,類型檢查工具

    harmony-utils之TypeUtil,類型檢查工具類 harmony-utils 簡(jiǎn)介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫(kù),借助眾多
    的頭像 發(fā)表于 06-30 17:35 ?528次閱讀

    Shell腳本入門指南

    Shell 是一塊包裹著系統(tǒng)核心的殼,處于操作系統(tǒng)的最外層,與用戶直接對(duì)話,把用戶的輸入, 解釋給操作系統(tǒng),然后處理操作系統(tǒng)的輸出結(jié)果,輸出到屏幕給與用戶看到結(jié)果。
    的頭像 發(fā)表于 06-03 10:47 ?1189次閱讀
    <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門指南

    概倫電子先進(jìn)電路檢查分析平臺(tái)工具NanoSpice CCK介紹

    NanoSpiceCCK是一款先進(jìn)的電路檢查可靠性分析工具,支持晶體管級(jí)全面的ERC、SOA電路檢查,適用于前后仿電路規(guī)則檢查功能,能夠快速提供準(zhǔn)確、簡(jiǎn)潔的測(cè)試結(jié)果,方便設(shè)計(jì)人員及時(shí)發(fā)
    的頭像 發(fā)表于 04-23 15:05 ?876次閱讀
    概倫電子先進(jìn)電路<b class='flag-5'>檢查</b>分析平臺(tái)<b class='flag-5'>工具</b>NanoSpice CCK<b class='flag-5'>介紹</b>

    樹莓派新手必看!在樹莓派上編寫和運(yùn)行 Shell 腳本!

    在本教程中,我將討論Shell腳本的基礎(chǔ)知識(shí)、它們的用途以及如何在RaspberryPi上編寫和運(yùn)行Shell腳本。什么是Shell
    的頭像 發(fā)表于 03-25 09:28 ?1153次閱讀
    樹莓派新手必看!在樹莓派上編寫和運(yùn)行 <b class='flag-5'>Shell</b> <b class='flag-5'>腳本</b>!