問題は、furl
は変数file
から割り当てられた値を取得しません。 $$file
の代わりにプレーンテキストを使用すると、それは動作します。なぜ私はこれがうまくいかないのか分かりません。Makefile対象:ループから変数を割り当てることができません
のMakefile:これは修正が容易であるべきかなり確信
test:
@for file in $(shell pwd)/demo/*; do \
$(eval furl := $(shell echo $$file)) \
echo $(furl); \
done
イムしかし、私は解決策を見つけることができませんでした。何か案は?
最新のlubuntu OSを使用しています。
お返事ありがとうございます。私は、ファイル名とファイルディレクトリでさらに操作を行う必要があります。主な仕事は、ファイル名をextを指定しないで抽出して画面に出力することです。ファイル名とディレクトリに基づいて新しいファイルを作成するなどの操作を行う必要があります。理想的には '$ file_name_no_ext'と' $ file_dir'変数を使用します –
最初は単純な '$(furl)= $$ file;'割り当てを試しました。実際には変数に値を代入しますが、 ''/ bin/sh:3:=:not found'を返します。 –
' make'機能なしでこれを行うことができます。 'base = \' basename $$ file \ ''( '$$'と '\\ n'エスケープを避けるために別のシェルスクリプトで行うことをお勧めします)。 –