小编Dav*_*vid的帖子

你在记录器中使用 -t "tag" 选项做什么?

当使用“logger”命令将消息从脚本写入系统日志时,我使用-t“标签”将脚本名称与写入日志的消息一起存储。

我这样做是为了使查找条目更容易进行故障排除。

  • 是否有使用此标签消息的任何特别标准?
  • 如果你使用它,你在那里放什么?

shell-script syslog logger

6
推荐指数
1
解决办法
394
查看次数

当函数输出分配给变量时脚本不会退出

关于下面示例脚本的几个问题。

我正在调用一个函数_foo并希望将其输出捕获到一个变量中$bar,但也使用返回状态(可能不是0or 1),或者失败则exit停止脚本(当非零时)。

  • 为什么这样调用时exitin 函数不起作用?_foo( if ! bar="$(_foo)")。当调用“正常”时它会起作用。
    • exit如果我将 if 语句更改为此(但我丢失了其输出),则会停止脚本:if ! _foo ; then
    • exit行为类似于return并且不会停止脚本:if ! bar="$(_foo)" ; then
    • 仅调用一个没有赋值和退出的函数就可以了,但是像这样调用它却var="$(func)"不行。
  • _foo是否有更好的方法来捕获函数中into的输出$bar以及使用返回状态(对于0or以外的其他情况1,例如case语句?)

我有一种感觉,我可能需要以某种方式使用trap


这是一个简单的例子:

#!/usr/bin/env bash

set -e
set -u
set -o pipefail

_foo() {
    local _retval
    echo "baz" && false
    _retval=$?
    exit ${_retval}
}

echo …
Run Code Online (Sandbox Code Playgroud)

bash shell-script

2
推荐指数
1
解决办法
3662
查看次数

标签 统计

shell-script ×2

bash ×1

logger ×1

syslog ×1