BASHは、|を使用するとSTDIN(パイプライン)から入力を受け取ります。

BASHは、|を使用するとSTDIN(パイプライン)から入力を受け取ります。

新しいスクリプトを作成しています。このスクリプトを検証する方法を実装したいと思います。だから私はこのコマンドを使ってファイルの内容を確認します。

remote_file="$(curl -m2 -s "$1")"
checksum_remote="$(echo "$remote_file" | sha256sum | cut -d ' ' -f1)"
checksum_current="$(sha256sum < "$COMMAND_NAME" | cut -d ' ' -f1)"

しかし、さらなる開発の後、私はスクリプトをコマンドで使用できることに気づきましたcurl -s $SCRIPT_URL | bash。この場合、私のチェックは[ "$checksum_remote" != "$checksum_current" ]常に成功しますが、$COMMAND_NAMEスクリプトbashの内容は成功しません。

パイプラインを使用して実行するときにbashスクリプト自体を使用してソースコード全体を取得する方法を知っている人はいますか?

ベストアンサー1

おすすめ記事