我在 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
但是我想先将结果存储在一个变量中,以便进一步处理,然后再将其发送到串行端口。
编辑: 因此,澄清一下,我不是要打印东西到串行端口,我想接口到我的 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 total time”。
我希望我可以只用一句话做到这一点,然后在结束之后用笛子吹奏
printstring=`echo $songtime | awk '{print S1 }' | jc_hms`
像这样。