【发布时间】:2018-08-16 02:44:57
【问题描述】:
我在尝试存储 SSH 检查的输出以查看我是否具有对帐户的 SSH 访问权限时看到了奇怪的行为。我尝试了以下方法:
ssh git@bitbucket.org > temp.txt
我希望有一个字符串消息告诉我权限是否被拒绝或不保存到temp.txt。但是输出直接到终端并且没有保存到文件中。但是,如果我这样做了
ls -l > temp.txt
该输出被保存到文件中。什么可能导致这种行为差异?我最终将成为saving the output to a variable,但在这种情况下也会看到类似的行为。我使用的是 Ubuntu 16.04 bash 版本 4.3.48(1)。
【问题讨论】:
-
由于“权限被拒绝”通常被认为是一个错误,输出是否被路由到标准错误而不是标准输出?如果是这样,您需要使用
2> temp.txt或> temp.txt 2>&1。 -
@0x5453 我认为你是对的,这就是我需要做的,事实上,在我发布的链接中,我只是不明白该语法的含义。它也在另一台机器上工作,所以它似乎依赖于系统。你能写成答案吗?我会标记为已接受。
标签: bash