String Bash字符串串联请求数值参数
我需要一个bash函数,它用一个字符串作为日期和时间字符串的前缀String Bash字符串串联请求数值参数,string,bash,function,String,Bash,Function,我需要一个bash函数,它用一个字符串作为日期和时间字符串的前缀 show_neb_2017_05_20_16_55 我希望我当前的函数能够做到这一点,只是它需要一个数值参数 function show_neb() { a='show_neb_'$(date +"%Y_%m_%d__%H_%M") return $a } echo $(show_neb) 我本以为它会起作用,但事实并非如此。这不只是字符串的直接标准输出吗?返回值
show_neb_2017_05_20_16_55
我希望我当前的函数能够做到这一点,只是它需要一个数值参数
function show_neb() {
a='show_neb_'$(date +"%Y_%m_%d__%H_%M")
return $a
}
echo $(show_neb)
我本以为它会起作用,但事实并非如此。这不只是字符串的直接标准输出吗?
返回值只能用于为函数提供整数退出代码,而不是任意字符串值。要模拟返回值,需要写入标准输出,然后通过命令替换捕获该值
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脚本。返回
只能用于为函数提供整数退出代码,而不是任意字符串值。要模拟返回值,需要写入标准输出,然后通过命令替换捕获该值
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脚本。只要运行该函数,就可以实现它们想要的功能。是的;我要强调的是,如果要将“返回值”分配给变量,您需要什么。充分利用函数中的date
输出,而不是显式的echo
或printf
:)
(当然,在这种情况下,您可以完全取消show_neb
函数,只需在date
命令本身上使用命令替换)只需运行该函数就可以了。是的;我强调的是,如果要分配“返回值”,您需要什么一个变量。充分利用函数中的date
输出,而不是显式的echo
或printf
:)
(当然,在这种情况下,您可以完全取消show_neb
函数,只需对date
命令本身使用命令替换即可)您缺少的是return
仅返回成功/失败,而不是字符串。要执行您尝试的操作,请尝试echo“$a”;返回0
您缺少的点是return
仅返回成功/失败,而不是字符串。要执行您尝试的操作,请尝试echo“$a”;返回0代码>