1

次のようなbash関数に引数を渡すことができることを知っています

function output () {
  echo 'text' > text.txt;
  echo $1 >> text.txt;
  echo 'more text' >> text.txt;
}
output something;

しかし、実際には別のスクリプトまたはプログラムの出力を渡し、それを 1 つの変数に入れる必要があるため、次のような関数を呼び出すことができます。

output $(ls);

...関数内の1つの変数にlsの出力があります。それは可能ですか?どのように?

または、少なくともすべての入力を関数にエコーできますか?

4

3 に答える 3

2

引数を引用してみてください:

output "$(ls)";

またはあなたの機能を

function output () {
  echo 'text' > text.txt;
  echo "$@" >> text.txt;
  echo 'more text' >> text.txt;
}
于 2013-10-29T21:20:00.207 に答える
0

可能です。

この 10 進数から 16 進数への関数について考えてみましょう。これは、printf の出力を受け取り、それを NUM という var に格納します。

d2h()
{
  NUM=$(printf "%x\n" $1)
  echo $NUM
}
于 2013-10-29T20:57:40.503 に答える