0

makefileいわゆる「アクション」が で区切られているがあり\tます。これらのアクションを実行する必要がある場合、もちろん、シェルは\tgcc -o a filename.c Coomand not found. 検索では、先頭/末尾のタブ/スペースを でトリミングする方法のみが得られますsed。ただし、使用が許可されていない場合は、bash?

そのような「ルール」の例は次のとおりです。

A : B C D E F G
\tgcc -o a A

\tここではわかりやすくするために、実際のファイルではタブ キーを押します。私が必要としているのは、タブ文字の後に続くものを読み取り、evalまたはバッククォートで実行できることです。読んだものをバックティックすると (つまり、タブ文字を削除せずに)、シェルが文句を言います。

4

2 に答える 2

1

makefile のコマンド部分に実際に \t を書くことは想定されていません。Tab キーを押して、必要なスペースを確保します。

A : B C D E F G
    gcc -o a A

編集 - vi/vim を使用している場合、TAB を一定数のスペース (通常は 4) に置き換えるコマンドを使用している可能性があります。それを確認します。

于 2013-01-25T02:00:07.023 に答える
0

bash のみを使用する場合は、ファイルを解析し、削除\tして新しいファイルにダンプする必要があります。

このようなもの;

while -r line; do echo "${line//\t/}" >> new_makefile; done < makefile
于 2013-01-25T06:04:02.027 に答える