将输出传递给函数

时间:2013-10-29 20:53:27

标签: bash function input

我知道我可以将参数传递给像

这样的bash函数
function output () {
  echo 'text' > text.txt;
  echo $1 >> text.txt;
  echo 'more text' >> text.txt;
}
output something;

但实际上我需要传递另一个脚本或程序的输出并将它放在一个变量中,所以我能够调用函数

output $(ls);

...并在函数中的单个变量中输出ls。那可能吗?怎么样?

或者我可以至少回显函数的每一个输入吗?

3 个答案:

答案 0 :(得分:2)

尝试引用参数:

output "$(ls)";

或将您的功能更改为

function output () {
  echo 'text' > text.txt;
  echo "$@" >> text.txt;
  echo 'more text' >> text.txt;
}

答案 1 :(得分:0)

#!/bin/bash 
output=`ls -larht` 
/bin/echo -e "$output"

答案 2 :(得分:0)

有可能。

考虑这个十进制到十六进制的函数,它接受printf的输出,并将它存储在一个名为NUM的var中。

d2h()
{
  NUM=$(printf "%x\n" $1)
  echo $NUM
}
相关问题