※当サイトの記事には、広告・プロモーションが含まれます。

シェルのSingle BracketsとDouble Bracketsどちらを使えば良いのか

www.publickey1.jp

テスト自動化ツールなどを提供するAutifyは、仕様書を読み込ませることで使用に基づいたさまざまなテストケースを自動的に生成するテストデザイン機能や、テストしたい内容を自然言語で指示することで自動的にテストシナリオとテストコードを生成する機能などを備えた新サービス「Autify Nexus」の提供を発表しました。

AIに仕様書を読ませるとテストケースを自動生成、テストコードも書いてくれる「Autify Nexus」、Autifyが発表 - Publickey

enterprisezine.jp

 「AI駆動型攻撃によって、攻撃回数が大幅に増えてきている。その影響を受けているのは、エンタープライズ企業や公的機関だ。我々の観測によると、毎日26億回に上る。この規模では人間が手作業で対策することは不可能だ。攻撃の分析も、人間の手では限界があるだろう。つまり、サイバー攻撃対策にはAIを活用することが不可欠と言える。攻撃者もAIを活用しているのだから、守る我々もAIを用いる。サイバーセキュリティは、マシン vs マシンで対抗しなければならない時代に入ってきた」

AI駆動型攻撃で1日26億回の攻撃も……OpenTextが訴えるAI時代の対策とは (1/2)|EnterpriseZine(エンタープライズジン)

 マシン vs マシンの時代に入り、ITベンダーにおける対策も大きく変化したという。

AI駆動型攻撃で1日26億回の攻撃も……OpenTextが訴えるAI時代の対策とは (1/2)|EnterpriseZine(エンタープライズジン)

 「我々のシステムである『TDR(OpenText Core Threat Detection and Response)』は、AIと機械学習を活用し、それらによってアルゴリズムを作り出す。我々の計測で1日あたりのサイバー攻撃として、日々観測する26億回すべてを評価している。評価を行った上で、必ず人の目で見れる件数(20件程度)まで絞り込む」

AI駆動型攻撃で1日26億回の攻撃も……OpenTextが訴えるAI時代の対策とは (1/2)|EnterpriseZine(エンタープライズジン)

⇧ 最終的に「ハードウェア」の「スペック」ありきの話になってくるのは致し方ないのかもしれないですが、「AI」による「評価」の「妥当性」について担保できているのかが気になりますな...

とは言え、26億のアクセスの全てを人手で確認することは不可能なので、「AI」による絞り込みは、「やらないよりはまし(better than doing nothing)」、といった感じなんですかね...

シェルのSingle BracketsとDouble Brackets

そもそも、「プログラミング言語」のように「specification(仕様)」が見当たらないので、特定の「Linux ディストリビューション」の情報になってしまうのだが、「Ubuntu」の公開している情報によると、

manpages.ubuntu.com

⇧ とあり、「Double Brackets」については説明がある程度は記載されているのだが、「Single Brackets」については説明が見当たらない...

とりあえず、

serverfault.com

⇧ 上記の情報が正しいとすると、

  1. Single Brackets
    1. POSIXに準拠したシェルであればサポートされている
  2. Double Brackets
    1. POSIXに準拠していないので、限られたシェルでしかサポートされていない
    2. 単語分割とパス名展開は の間の単語に対しては行われません

制約が多そう...

シェルのSingle BracketsとDouble Bracketsどちらを使えば良いのか

ネットの情報を漁っていたところ、

stackoverflow.com

⇧ 上記の情報が正しいとすると、「パフォーマンス」に影響してくるらしい。

そして、「Google」の公開している「シェルスクリプト」に関する「Style Guide」によると、

google.github.io

⇧「Double Brackets」を利用した方が良いような書きっぷりではある。

まぁ、「Double Brackets」は「POSIX」に準拠していないので、利用できる「シェル」も限られてくるとは思いますが、まぁ、「bash」を利用しているのが「多数派(majority)」と信じて、「Double Brackets」を利用していく感じで良いんかね?

可能であれば「シェルスクリプト」利用したくないですな...

毎度モヤモヤ感が半端ない…

今回はこのへんで。