在UNIX中,是否可以通过http"捕获"文件?

JP *_*Lew 0 unix bash cat

这是我想要做的:

cat https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb
Run Code Online (Sandbox Code Playgroud)

这给出了"没有这样的文件或目录"错误,因为cat显然无法通过HTTP获取远程文件.还有另一种方法来实现这一目标吗?

更大的图片

我正在尝试为我的bash脚本编写自动更新功能.它需要确定脚本的本地版本是否与最新的公共版本不同.如果存在差异,则应下载新版本.

我想我可以使用以下方法测试:

diff [local file] [remote file]
diff syncdb https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb
Run Code Online (Sandbox Code Playgroud)

但是这给出了与上面相同的问题:"没有这样的文件或目录".所以我的第二个想法是试试这个:

cat https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb | diff - syncdb
Run Code Online (Sandbox Code Playgroud)

由于此脚本由公共使用,因此它们没有对公共github存储库的SSH访问权限.其次,我不想用来git diff比较文件,因为这需要它们已经git安装,弄乱了正确的文件位置/结构,并且还要求他们克隆了我的仓库,我更愿意避免这些需求.

我知道我可以使用下载原始远程文件curlwget,然后diff他们,但是这违背检查,看看是否有下载前的任何变化的整个目的.

谢谢阅读!

atu*_*pal 6

也许curl会帮助你

curl  https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb | diff - syncdb
Run Code Online (Sandbox Code Playgroud)