私はmakefileに次のコマンドを書き込もうとしました。sedコマンドでmakefile変数を使用する
#get Local Ip Address
LOCALIP=$(shell ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1' | awk '{print $1}') &
#get Web Url from User
@read -p "Enter Web Url:" weburl; \
sed -e "\|$LOCALIP $weburl|h; \${x;s|$LOCALIP $weburl||;{g;t};a\\" -e "$LOCALIP $weburl" -e "}" hosts.txt
私は、コマンドを実行しようとすると、私は次のようにsedコマンドを取得すると予想:
sed -e "\|192.168.5.1 www.weburl.com|h; \${x;s|192.168.5.1 www.weburl.com||;{g;t};a\\" -e "192.168.5.1 www.weburl.com" -e "}" hosts.txt
をしかし、私は次のように取得するには、メイクファイルで
sed -e "\|/s/$/OCALIP eburl|h; \" hosts.txt
Makefile変数は、通常、 '$(...)'で囲まれています。 –
私は試しました。今私は次のようになっています。 sed -e "\ | 192.168.5.1 & |h; \" hosts.txt –
これらのシェル文をすべてMakefile構文に変換するのではなく、それらをスクリプトに入れてそのスクリプトをMakefileから呼び出すことはできませんか? – oliv