标签: bash

cURL:重定向时如何抑制奇怪的输出?

我正在尝试stderr从 bash shell仅打印 cURL 请求(发送到)的详细部分。

但是当我stdout像这样重定向时:

curl -v http://somehost/somepage > /dev/null
Run Code Online (Sandbox Code Playgroud)

某种结果表出现在输出的中间stderr

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
Run Code Online (Sandbox Code Playgroud)

接下来是接近尾声:

{ [data not shown]
118   592    0   592    0     0  15714      0 --:--:-- --:--:-- --:--:-- 25739
Run Code Online (Sandbox Code Playgroud)

这使得响应标头的可读性降低。

不重定向时我看不到此文本。


另一种查看效果的方法:

表没有出现:

curl -v http://somehost/somepage 2>&1
Run Code Online (Sandbox Code Playgroud)

表出现:

curl -v http://somehost/somepage 2>&1 | cat …
Run Code Online (Sandbox Code Playgroud)

bash redirection stderr curl pipe

82
推荐指数
5
解决办法
11万
查看次数

在 Unix 上复制目录

如何使用终端窗口在 Unix 上将目录结构 dir1 复制到 dir2(包括所有子目录)?

unix terminal bash

82
推荐指数
3
解决办法
13万
查看次数

如何加入/合并多个 mp3 文件?

在 Google 上搜索如何加入/合并许多 mp3 文件,这表明我应该将cat它们放在一起。

这可能“有效”,但显然这不是正确的方法,因为每个标头和 IDv3 标签集也将连接在一起。

是否存在可以编写脚本以加入/合并许多 mp3 的 Linux 程序?

mplayer/mencoder/ffmpeg 能做到吗?

linux bash

81
推荐指数
5
解决办法
8万
查看次数

当目标文件尚不存在时,使用 `>>` 重定向是否等同于 `>`?

考虑像 Bash 或 sh 这样的 shell。在目标文件存在的情况下,>和之间的基本区别>>表现出来:

  • > 将文件截断为零大小,然后写入;
  • >> 不截断,它写入(附加)到文件的末尾。

如果文件不存在,则以零大小创建;然后写到。这对两个运营商都是如此。当目标文件尚不存在时,运算符似乎是等效的。

他们真的吗?

bash redirection sh

81
推荐指数
1
解决办法
7145
查看次数

推/弹出当前目录?

使用 bash 有没有办法推送和弹出当前工作目录?我尝试编写,bash;cd dir; ./dostuff;exit;但当前目录现在是dir.

linux bash

80
推荐指数
4
解决办法
7万
查看次数

如何使用 bash 重新散列 $PATH 中的可执行文件

该主题说明了一切,如何在更改内容后重新散列其中一个 $PATH 中可用的可用可执行文件:例如,从另一个 $PATH 中可用的 $PATH 中删除二进制文件,更改 $PATH 变量。

bash

80
推荐指数
2
解决办法
4万
查看次数

如何在 bash shell 中输入文字制表符?

例如,我想使用带有 -t 选项的 sort 实用程序来指定制表符分隔符,但是

sort -t "\t"
Run Code Online (Sandbox Code Playgroud)

不起作用。

bash bash-scripting

79
推荐指数
2
解决办法
10万
查看次数

重命名用户的组名

我只是usermod -l login-name old-name更改了用户名,但组名仍然是旧的。

有没有办法重命名组名?我找不到任何信息来这样做。

linux user-accounts bash ubuntu

79
推荐指数
2
解决办法
12万
查看次数

你为什么要`cat /dev/null > /var/log/messages`?

在这个bash 脚本示例页面上,作者展示了这个脚本:

# Cleanup
# Run as root, of course.

cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp
echo "Log files cleaned up."
Run Code Online (Sandbox Code Playgroud)

你为什么要cat /dev/null上任何东西?我不明白这里的意图是什么(就像使用while TRUE; sleep 1; elihwfor 一样{some busy program}?)。然而,作者称其为“没什么不寻常的”。

linux bash

79
推荐指数
3
解决办法
3万
查看次数

Homebrew 如何在终端中打印啤酒杯?

Homebrew 有一个巧妙的技巧,可以在其输出旁边打印出小图标。像这样:

终端输出中的酿造图标

如果我自己复制粘贴图标并按回车键,我会得到结果:

-bash: $'?\237\215?': command not found
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用echo或者printf我只是get ????. 如果我转义所有引号和$s 等,则相同。

editron:~ stib$ echo $'?\237\215?'
????
Run Code Online (Sandbox Code Playgroud)

那么他们是如何做到的呢?魔法字符$'?\237\215?'是什么意思?

bash terminal.app homebrew macos

78
推荐指数
2
解决办法
2万
查看次数