我正在使用make并且正在使用make文件帮助我使用rpm-builder构建rpm。您必须使用以下布局制作rpm.properties
文件。
rpm_name=my_app
rpm_version=1.0
rpm_release=$(date +%s)
rpm_summary=${rpm_name}
rpm_install_dir=/projects/my_app/webapps
files=src/my_application.properties,log4j.xml
这是我用来做这个的makefile的一部分
rpm:
@echo rpm_name=foo > rpm.properties
@echo rpm_version=1.0 >> rpm.properties
@echo rpm_release=$(date +%s) >> rpm.properties
@echo rpm_summary=foo >> rpm.properties
@echo rpm_install_dir=~/foo_install >> rpm.properties
@echo file=foo.class >> rpm.properties
@echo rpm_install_post_script_file=foo.sh >> rpm.properties
@echo rpm_username=root >> rpm.properties
@echo rpm_groupname=root >> rpm.properties
make文件正常工作,期望与
一行 @echo rpm_release=$(date +%s) >> rpm.properties
哪个不输出到rpm.properties
文件。 rpm.properties
输出如下
rpm_name=foo
rpm_version=1.0
rpm_release=
rpm_summary=foo
rpm_install_dir=~/foo_install
file=foo.class
rpm_install_post_script_file=foo.sh
rpm_username=root
rpm_groupname=root
我正在寻找
rpm_name=foo
rpm_version=1.0
rpm_release=$(date +%s)
rpm_summary=foo
rpm_install_dir=~/foo_install
file=foo.class
rpm_install_post_script_file=foo.sh
rpm_username=root
rpm_groupname=root
有没有人知道如何输出由make文件解释为像$(date +%s)
这样的变量的文本行是否为非扩展的纯文本?
答案 0 :(得分:2)
您需要从make中转义$
。然后,您还需要从shell中转义$
。
使用:
@echo rpm_release='$$(date +%s)' >> rpm.properties
如果您愿意,还可以使用一个echo
/ printf
和一个重定向而不是倍数来完成所有这些操作。