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_NAMEbash而不是脚本的内容。

有谁知道当我们使用管道执行时如何使用 bash 脚本本身检索整个源代码?

相关内容