Bash字符串连接请求数字参数

时间:2017-06-14 19:09:49

标签: string bash function

我需要一个bash函数,它在date_time字符串前加一个字符串。

show_neb_2017_05_20_16_55

我希望我当前的功能可以做到这一点,除了它需要一个数字参数。

    function show_neb() {
        a='show_neb_'$(date +"%Y_%m_%d__%H_%M")
        return $a
        }

    echo $(show_neb)

我原本预计它会起作用,但事实并非如此。这不仅仅是字符串的直接标准输出吗?

1 个答案:

答案 0 :(得分:2)

return只能用于为函数提供整数退出代码,而不是任意字符串值。要模拟返回值,您需要写入标准输出,然后通过命令替换来捕获它。

show_neb () {
    date +"show_neb_%Y_%m_%d__%H_%M"
    # Replacing echo "show_neb_$(date +"%Y_%m_%d__%H_%M")"
}

val=$(show_neb)

Shell功能在通常意义上确实不起作用;它们更像是源内存的shell脚本。