这是我想要做的:
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
,弄乱正确的文件位置/结构,还要求他们克隆我的仓库,我宁愿避免作为要求。
我知道我可以使用curl
或wget
下载原始远程文件,然后使用diff
,但是这样做无法在下载之前检查是否有任何更改。
感谢阅读!
答案 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