エラーメッセージ - openssl:コマンドが見つかりません。

エラーメッセージ - openssl:コマンドが見つかりません。

Webサイトの証明書が有効であることを確認するための簡単なスクリプトを作成しています。ただし、端末でコードを実行しようとすると、コマンドがopenssl見つからないというエラーメッセージが表示されます。コードは次のとおりです。

if true | openssl s_client -connect www.google.com:443 2>/dev/null | \
  openssl x509 -noout -checkend 0; then
  echo "Certificate is not expired"
else
  echo "Certificate is expired"
fi

このコードを実行しようとすると、次のような出力が表示されます。

./check-certificates.sh: line 6:  openssl: command not found
Certificate is expired

コードは実行されますが、有効なコマンドとして認識されないため、opensslこれを参照するコード行をスキップし、デフォルトで「証明書の期限切れ」を出力します。

以下を使用すると、sudo apt-get install opensslこのメッセージが表示されます。

...
openssl is already the newest version (1.0.2g-1ubuntu4.15).
...

opensslそれではインストールが成功したようです。この問題を解決する方法がわかりません。誰にもアイデアはありますか?


要求に応じて、出力は次のようになりますapropos openssl | grep "OpenSSL command line tool"

openssl (1ssl)       - OpenSSL command line tool

そしてlocate openssl | grep /usr/bin

usr/bin/openssl

ベストアンサー1

エラーメッセージの追加スペースを参照してください。

./check-certificates.sh: line 6:  openssl: command not found

これは、シェルが探しているコマンドがおそらく壊れないスペースで事前に予約されていないことを意味しopensslます openssl

openssl前のスペースが「一般」スペースであることを確認または削除するには、スクリプトを編集する必要があります。

バラよりこのコマンドが機能しない理由: "ps aux | grep xscreensaver"より多くの情報を持つ同様のケースの場合。

おすすめ記事