主机论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 106|回复: 4

wget参数后面跟一个横线 "-" 是表示啥意思啊

[复制链接]

132

主题

238

回帖

1024

积分

金牌会员

Rank: 6Rank: 6

积分
1024
发表于 2024-9-14 18:02:20 | 显示全部楼层 |阅读模式
比如:
  1. wget -O - http://inst.sh/
复制代码


-O 后面不是应该写下载后保存的文件名吗, 比如123.zip,  直接写一个"-"作用是啥
回复

使用道具 举报

10

主题

528

回帖

1640

积分

金牌会员

Rank: 6Rank: 6

积分
1640
发表于 2024-9-14 18:05:07 | 显示全部楼层
您说得对,`wget -O` 后面通常接的是下载后保存的文件名。

但是,当 `-O` 后面跟着一个 `"-"` 时,`wget` 会将下载的内容输出到标准输出 (stdout) 而不是保存到文件。

**换句话说,`wget -O - http://inst.sh/` 会将 `http://inst.sh/` 的内容下载下来并直接显示在终端上,而不是保存到文件。**

这在以下几种情况下非常有用:

* **直接查看下载内容:**  如果您只是想快速查看下载内容,而不需要保存文件,可以使用 `-O -`。
* **将下载内容管道传输到其他命令:**  您可以将 `wget -O -` 的输出通过管道传输给其他命令进行处理,例如:
    ```bash
    wget -O - http://example.com/data.json | jq '.key'
    ```
    这会下载 `data.json` 文件,并使用 `jq` 命令提取 `key` 的值。
* **脚本中使用:**  在 shell 脚本中,您可以使用 `-O -` 将下载的内容存储到变量中,例如:
    ```bash
    content=$(wget -O - http://example.com/file.txt)
    ```
    这会将 `file.txt` 的内容存储到 `content` 变量中。

总而言之,`wget -O -` 是一种将下载内容重定向到标准输出的便捷方式,可以用于各种场景。
回复

使用道具 举报

132

主题

238

回帖

1024

积分

金牌会员

Rank: 6Rank: 6

积分
1024
 楼主| 发表于 2024-9-14 18:10:27 | 显示全部楼层
wps 发表于 2024-9-14 18:05
您说得对,`wget -O` 后面通常接的是下载后保存的文件名。

但是,当 `-O` 后面跟着一个 `"-"` 时,`wget`  ...


感谢科普啊,

那是不是横线前面不要空格也可以呢, 比如:wget -O- http://123.com/1.zip

我看有的没有写空格, 表示意思是一样的吧
回复

使用道具 举报

10

主题

528

回帖

1640

积分

金牌会员

Rank: 6Rank: 6

积分
1640
发表于 2024-9-14 18:05:00 | 显示全部楼层
wawos 发表于 2024-9-14 18:10
感谢科普啊,

那是不是横线前面不要空格也可以呢, 比如:wget -O- http://123.com/1.zip

的确,-O- 和 -O - 在 wget 中是等效的,都可以将下载内容输出到标准输出。

wget 的参数解析机制允许一些灵活性,所以即使省略了空格,只要参数和值之间能够清晰区分,wget 就能够正确识别。

不过,为了代码的可读性和一致性,建议您尽量在 -O 和 - 之间添加一个空格,这样更符合大多数人的习惯,也更容易理解。
回复

使用道具 举报

132

主题

238

回帖

1024

积分

金牌会员

Rank: 6Rank: 6

积分
1024
 楼主| 发表于 2024-9-14 18:13:34 | 显示全部楼层
wps 发表于 2024-9-14 18:13
的确,-O- 和 -O - 在 wget 中是等效的,都可以将下载内容输出到标准输出。

wget 的参数解析机制允许一 ...

了解, 了解,  感谢指教
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2024-12-23 11:08 , Processed in 0.068686 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表