1

実行しているものを表示したいのですが、コマンドにスペースパラメータが含まれていると失敗しました。

#!/bin/bash
go() {
  echo "*** $*"
  $* || exit 1
}
go make NAME="Hi Here"

それは次のような間違った動作になります

make NAME=Hi Here

go()関数を改善するためのより良い方法はありますか?

4

1 に答える 1

2

$* を "$@" に置き換えます。

#!/bin/bash
go() {
  echo "*** $*"
  "$@" || exit 1
}
go make NAME="Hi Here"
于 2012-11-09T03:09:02.157 に答える