
ファイルに特定の値があるかどうかを確認するために、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
。
また、変数名をすべて大文字として使用することを避けます。彼らは問題を引き起こす可能性があります気をつけないと。最良の方法は使用しないことです。