创建了如下的简单bash脚本
#!/bin/bash
declare -a message_list=("ok" "error" "cancel")
display_output_message()
{
message_index=$1
message_type=$2
if [ $message_index -gt 2 ]
then
printf "Invalid Message index\n"
exit 0
fi
if [ $message_type -eq 1 ]
then
printf "%s\n" $message_index
else
printf "%s\n" "${message_list[$message_index]}"
fi
}
printf "message :: %s %s\n" "display_output_message $1 $2" "received"
从上面的脚本中,我想从中调用display_output_message()
函数,printf
并在调用printf
它的语句中打印该函数的输出。我不知道如何将功能重定向到printf
。到目前为止,我尝试过的内容显示在脚本上方,当我运行脚本时,将显示如下输出
$ ./script.bash 1 2
message :: display_output_message 1 2 received
所以printf
只打印我要调用的函数的名称和参数列表,但我要输出如下
$ ./script.bash 1 2
message :: ok received
我错过了一些小事情,或者可能不了解如何将输出重定向到printf
。
有任何想法我该如何解决?
您实际上需要调用该函数。现在,您只是在传递一段文字。
尝试这个:
printf "message :: %s %s\n" "$(display_output_message $1 $2)" "received"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句