ファイル内の特定の数値を確認するためにIf then elseを作成しています。

ファイル内の特定の数値を確認するためにIf then elseを作成しています。

ファイルに特定の値があるかどうかを確認するために、If then elseスクリプトを作成しています。値が存在する場合は印刷された値が存在し、そうでなければ印刷された値は存在しません。

#!/bin/bash
#This script will check a file and determine if the QID exists.
#search the zero day file for qids and system tracking id's. These are contained in
#the file file.

echo What is the QID number $HOME?
read QID

#Set some variables
Qualyfile=$(cat /home/dc368/zeroday/zerodayresearch)
QualysID=$QID

If [ $Qualyfile|grep $QualysID = $QualysID ]; then 
    echo qid exists
else echo qid does not exist
fi

ベストアンサー1

if後で参照してください注文する。に従って終了ステータスthenこのコマンドを使用すると、1つ以上のブロックを入力できますelse。また[、これは注文する、構文だけでなく(bashプロンプトでhelp [thenを入力するhelp test

欲しい

#!/bin/bash
read -p "What is the QID? " qid
file=/home/dc368/zeroday/zerodayresearch
if grep -q "$qid" "$file"; then
    echo qid exists
else 
    echo qid does not exist
fi

grepは正規表現を使用するため、誤った肯定を返す可能性があります。たとえば、qid=.ファイルに 1 つ以上の文字がある場合、grep は "true" を返します。man grep結果を絞り込むのに役立つさまざまなオプション(ヒント、考慮事項、-wオプション)をお読みください-F

また、変数名をすべて大文字として使用することを避けます。彼らは問題を引き起こす可能性があります気をつけないと。最良の方法は使用しないことです。

おすすめ記事