在UNIX中,是否有可能" cat"一个文件超过http?

时间:2014-05-27 08:05:19

标签: bash unix cat

这是我想要做的:

cat https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb

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

更大的图片

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

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

diff [local file] [remote file]
diff syncdb https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb

但这会产生与上述相同的问题:“没有这样的文件或目录”。所以我的第二个想法是试试这个:

cat https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb | diff - syncdb

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

我知道我可以使用curlwget下载原始远程文件,然后使用diff,但是这样做无法在下载之前检查是否有任何更改。

感谢阅读!

2 个答案:

答案 0 :(得分:6)

也许curl会帮助你

curl  https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb | diff - syncdb

答案 1 :(得分:1)

我强烈建议您使用wget,然后使用cat显示文件的内容。

  

wget https://raw.githubusercontent.com/jplew/SyncDB/master/syncdb&& cat syncdb