我看到很多安装说明要求您下载文件并立即运行它,如下所示:wget https://some-site.com/some-file.sh | bash
。不过,我想less
首先将文件通过管道传输到 ,以便在将文件传输到 之前我可以看到该文件bash
。我怎样才能在一行中做到这一点?
答案1
使用vipe
来自更多实用程序。演示用seq 20
而不是wget
.
运行这个:
seq 20 | EDITOR=less vipe | wc -l
...并less
打开管道进行查看。按q
至辞职 less
,并且行计数wc -l
出现:
20
现在做同样的事情:
seq 20 | EDITOR=less vipe | wc -l
……但这一次,击中Ctrl-C,然后q
到辞职 less
。因为Ctrl-C,wc
从不运行。
因此这应该有效:
wget -qO- https://some-site.com/some-file.sh | EDITOR=less vipe | bash
如果代码不合适,请点击Ctrl-C。
如果您想保留该文件或许不想运行它,试试这个:
wget -qO- https://some-site.com/some-file.sh | tee /tmp/some-file.sh |
EDITOR=less vipe | bash
...它的工作原理大致相同,除了/tmp/some-file.sh也会有管道内容。
答案2
- 下载文件。
- 看它。
- 运行。
$ curl -O https://some/url/file.sh
$ less file.sh
$ bash file.sh
这将是最简单、最稳健的。
答案3
在 中less
,您可以按 将s
输入保存到文件。
或者g
到达顶部然后|$bash
通过管道到达bash
.