我在bash脚本中具有简单的功能,我想将stdout作为输入传递给它。
jc_hms(){
printf "$1"
}
我想以这种方式使用它。
var=`echo "teststring" | jc_hms`
当然,我使用了冗余函数echo和printf来简化问题,但是您明白了。现在,我收到一个“未找到”错误,我认为这意味着我的参数定界是错误的(“ $ 1”部分)。有什么建议?
最初,jc_hms函数的用法如下:
echo `jc_hms "teststring"` > //dev/tts/0
但我想将结果存储在变量中,以便在将其发送到串行端口之前先进行进一步处理。
编辑:所以要澄清一下,我不是想将内容打印到串行端口,如果要使用“ |”,我想连接到我的bash函数。竖线字符,我想知道是否可行。
编辑:好的,这是全部功能。
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`
像这样