私は次のようなファイルを書きました。電話4このように:
# #!/bin/bash
name=$1
if ["$name" = ""]
then echo -n "Enter a name to search for: "
read name
fi
grep -i $name ~uli101/2017c/phonebook
しかし、今スクリプトをいくつか変更してコマンドを使用したいと思います。電話4xyz一致する名前がない場合は、「xyz」という名前がディレクトリにありません。という適切なメッセージが表示されます。
$?の値を確認するために "if"ステートメントを使用したいと思います。 grepコマンドが成功したことを確認してください(「0」は成功を意味します)。 grepが失敗すると、メッセージ($ name値を含む)がエコーされます。
これがコマンドライン引数とユーザーから読み取られた名前の両方に対して機能することを確認し、正確には「xyz」名がディレクトリにありませんというメッセージが必要です。誰でもこの問題を解決するのに役立ちますか?
ベストアンサー1
デフォルトでは、ifステートメントの作成方法がわかっている場合は、スクリプトにifステートメントがあります。
$?
これで、Google検索でそれを比較し、0
ifステートメントに入れる方法を学びます。$?
一致しないでください0
。
その場合はis NOTecho "Name 'xyz' not in directory"
が必要です。 'xyz'をどのように変更しますか?はっきりしますか?$?
0
$name
これは宿題のようなものです。
人に魚をあげると一日食べられ、魚を教えてくれれば生涯にわたって食べることができます。