我想从目录中的a.txt
生成a.tar.gz
。我尝试在Makefile中编写以下目标:
a.txt: a.tar.gz
tar xvf a.tar.gz
这是有效的,但在运行它之后a.tar.gz
未压缩且不再存在。随后的make
失败了。如何编写检查a.txt
是否不存在的目标,如果是,则运行tar
,否则不执行任何操作?
答案 0 :(得分:0)
'test'或'['和']'可以做到这一点。
a.txt:
if [ -e a.tar.gz ]; then \
tar xvf a.tar.gz \
fi
答案 1 :(得分:0)
$(document).ready(function () {
var observer = new MutationObserver(function ( mutations ) {
var elements = mutations.reduce(function ( elements, mutation ) {
return elements.concat( mutation.addedNodes );
}, [] );
// .filter() makes sure you only manipulate mutated elements that match your selector
resizeFonts( $( elements ).filter( ".selector" ) );
});
observer.observe( $(".parent-element")[ 0 ], {
childList: true,
subtree: true
});
$( window ).resize(function () {
resizeFonts( $( ".selector" ) );
});
});
function resizeFonts ( elements ) {
elements.css( "font-size", amazingNewFontSize );
}
只有在找到至少一个文件时才会展开:
wildcard
添加a.txt: $(wildcard a.tar.gz)
tar xvmf $<
标志将避免不必要的重制。
如果两个文件都不存在,规则将会失败,但不知道你究竟在做什么,并且很难提供全面的解决方案。