問題タブ [shellcheck]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - bash コマンドを ShellCheck 準拠に書き換える
次の bash コマンドをShellCheckに準拠するように書き直すにはどうすればよいですか?
現在、次のことについて不平を言っています。
- 駄目猫。「cmd < ファイル | 」を検討してください。..' または 'cmd ファイル | ..'
- この { はリテラルです。
bash - ShellCheck 警告: 「ls 出力の繰り返しは脆弱です。グロブを使用してください。[SC2045]」
以下のコードの 2 行目で、ShellCheck 警告 [SC2045] が表示されます。最後に試す前にディレクトリが空でないことを確認しているので、無視しても問題ありませんls
か?
更新: 投稿のコメントを読んだ後。行を次のように変更しました。
これにより、警告が削除されました。
bash - あるスクリプトから別のスクリプトを開始するときにグロブをコマンドとして使用すべきではないというシェルチェックの苦情を修正する方法がわかりません
スクリプト例:
Shellcheck は以下を返します。
https://github.com/koalaman/shellcheck/wiki/SC2211によると、この規則に例外はありません。
具体的には、「glob を介してコマンド名を指定する場合、たとえば ./myprogram-*/foo でバージョンをハードコードしない場合は、最初に配列またはパラメーターに展開して、0 または 2+ の一致のケースを処理できるようにする」ことを提案します。
そもそもグロブを使用している理由は、作成または変更したばかりのスクリプトに日付を追加または変更するためです。興味深いことに、"./script2*.sh" の代わりに "bash script2*.sh" を使用すると、苦情がなくなります。
問題を修正しましたか、それとも無視してはならない問題を無視するように shellcheck を騙していますか? 不適切な bash 構文を使用している場合、適切な方法でグロブを使用して参照する必要がある別のスクリプトを実行するにはどうすればよいですか?
bash - Bash スクリプト コマンドと shellcheck エラー SC2181 の除去
次のbashスクリプトがあります:
そして、ShellCheck ユーティリティ ( https://www.shellcheck.net/ ) から次の出力が得られます。
この警告へのリンクは次のとおりです: https://github.com/koalaman/shellcheck/wiki/SC2181
これを変更するための最良の方法は何ですか。コマンドは長すぎて 1 行に収めることができません。ShellCheck 無視ルールの使用は避けたいと思います。
ローカル変数を作成してコマンドの出力を保存しようとしましたが、これは他のルールに違反しています。