は、私はオープンソースプロジェクトでのlibtoolと呼ばれるファイルで見つかったいくつかのコードは、(それがこのシステム上でコンパイルしていない)である:このbashコードは何をしていますか?ここ
case $arg in
-*=*)
optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
私はcase文を取得し、私は最初のについてはよく分かりませんoptarg=...
行。何を得ようとしているのですか?このテストケースについて、聞かせて:OS Xでこれを実行する
CC="arm-elf-gcc"
arg="--tag=CC"
Xsed="/usr/bin/sed -e 1s/^X//"
が私を取得します。
../libtool: line 828: X--tag=CC: command not found
私は「アームエルフ - gccのを」変数OPTARGに代入しようとしているかもしれないと思うが、よく分かりません。ソフトウェア全体がUbuntuで正しくコンパイルされますが、libtoolファイルは非常に異なって見えます。 arg="--tag=CC"
が値CC
それは--tag=
を削除するには、正規表現を使用することによってこれを行うに分離しようとしているされて、あなた例えば
'$ echo'の定義がありません。ほとんどのGNUソフトウェアでは、これはエスケープシーケンスを展開しない 'echo'実装を検索した結果です。 – geekosaur
@geekosaurデバッグ中、$ echoは空であることがわかります。どのようなアイデアを手にするか(新しいエコーを得る?) – jtpereyda
これを 'echo'に設定することができます。また、別のシステム(Linux対OS Xなど)で生成された 'libtool'を使用している場合は、ローカルシステムで動作する' libtool'を生成するために 'libtoolize'を実行する必要があります。 – geekosaur