我在bash脚本中有一个简单的函数,我想将stdout作为输入传递给它.
jc_hms(){
printf "$1"
}
我想这样使用它.
var=`echo "teststring" | jc_hms`
当然,我使用了冗余函数echo和printf来简化这个问题,但你明白了.现在我得到了一个"not found"错误,我认为这意味着我的参数定界是错误的("1美元"部分).有什么建议吗?
最初,jc_hms函数是这样使用的:
echo `jc_hms "teststring"` > //dev/tts/0
但我想先将结果存储在一个变量中,以便进一步处理,然后再将其发送到串行端口.
编辑:
编辑:好的,这是完整的功能.
jc_hms(){
hr=$(($1 / 3600))
min=$(($1 / 60))
sec=$(($1 % 60))
printf "$hs:%02d:%02d" $min $sec
}
我用这个函数来形成一个字符串,它来自这行代码
songplaytime=`echo $songtime | awk '{print S1 }'`
printstring="`jc_hms $songplaytime`" #store resulting string in printstring
其中$songtime是一个字符串,表示为"playtime totaltime",由空格分隔.
我希望我能在一条线上完成这项工作,然后在awk结束后用管道输送
printstring=`echo $songtime | awk '{print S1 }' | jc_hms`
就像这样.