Curl 如何使用Shell比较两个远程文件之间的filecontent差异?
在不使用Bash的情况下,如何使用单行Shell命令比较两个远程文件之间的filecontent差异 尝试可以运行包含以下内容的文件Curl 如何使用Shell比较两个远程文件之间的filecontent差异?,curl,sh,diff,Curl,Sh,Diff,在不使用Bash的情况下,如何使用单行Shell命令比较两个远程文件之间的filecontent差异 尝试可以运行包含以下内容的文件trunt.sh: #! /bin/sh diff $(curl "https://raw.githubusercontent.com/dockerfile/ubuntu/master/README.md") $(curl "https://raw.githubusercontent.com/dockerfile/ubuntu/mast
trunt.sh
:
#! /bin/sh
diff $(curl "https://raw.githubusercontent.com/dockerfile/ubuntu/master/README.md") $(curl "https://raw.githubusercontent.com/dockerfile/ubuntu/master/Dockerfile")
注意,如图所示,
diff
在文件上运行,而不是在参数中传递的内容上运行。命令替换($(…)
)将命令替换为其内容,这不是您需要的工具
您实际需要的是所谓的流程替换(Use)。
diff <(curl "https://raw.githubusercontent.com/dockerfile/ubuntu/master/README.md") \
<(curl "https://raw.githubusercontent.com/dockerfile/ubuntu/master/Dockerfile")
$ tmp=$(mktemp)
$ curl -o "$tmp" "https://raw.githubusercontent.com/dockerfile/ubuntu/master/README.md"
$ curl "https://raw.githubusercontent.com/dockerfile/ubuntu/master/Dockerfile" \
| diff "$tmp" -
$ rm -f "$tmp"