【问题标题】:Display results of specific commands in bash script to screen将 bash 脚本中特定命令的结果显示到屏幕
【发布时间】:2015-10-29 02:29:49
【问题描述】:

在我的脚本中,我正在执行一些 git 命令,但我希望命令的输出在脚本运行时显示在屏幕上。

OS X Yosemite,如果这很重要的话。

#!/bin/sh

# get the Git command from parameter
if [ $# -eq 0 ];
then
  echo "no arguments supplied"
  exit 1
fi
cmd=$1

echo "doing some stuff"
# do some stuff (not echoed to screen)

echo "executing command"
# this is the command I want to echo output to screen
git $cmd

echo "doing some other"
# do other stuff (not echoed to screen)

【问题讨论】:

  • 它应该会自动回显。
  • @ryanpcmcquen,你是对的。我使用的命令显然没有输出,所以我认为我做错了什么。直到。
  • 没有输出是你习惯的,如果你足够使用命令行的话。哈哈。 ;^)

标签: bash osx-yosemite


【解决方案1】:

您不希望在屏幕上回显的内容可以重定向到/dev/null,如下所示:

ls /tmp > /dev/null

您的git 命令的结果将回显到屏幕上,除非您另有明确说明。

【讨论】:

  • 天啊,你是对的。我用于测试的命令(git fetch)什么也没显示,我以为我做错了什么。叹。这是不显示输出的一个很好的提示。
【解决方案2】:

在脚本开头添加set -x 将在执行前打印命令。

例子:

#!/bin/sh

set -x

# get the Git command from parameter
if [ $# -eq 0 ];
then
  echo "no arguments supplied"
  exit 1
fi

# ...

【讨论】:

  • 有用的提示,但他具体询问的是命令的输出,而不是命令本身。
  • @miken32 没错。我的错。
  • 我认为这个问题的标题具有误导性。
猜你喜欢
  • 2011-09-25
  • 2021-11-21
  • 1970-01-01
  • 2017-12-29
  • 1970-01-01
  • 2015-09-10
  • 2011-09-02
  • 2020-07-19
  • 2011-11-21
相关资源
最近更新 更多