我正在处理一个bash脚本,如果某个特定文件存在,我需要有条件地执行某些操作。这是发生多次,所以我抽象了以下功能:我可以将任意的命令块传递给bash函数吗?
function conditional-do {
if [ -f $1 ]
then
echo "Doing stuff"
$2
else
echo "File doesn't exist!"
end
}
现在,当我想执行这个,我做这样的事情:
function exec-stuff {
echo "do some command"
echo "do another command"
}
conditional-do /path/to/file exec-stuff
的问题是,我打扰我我定义了两件事:执行一组命令的功能,然后调用我的第一个函数。
我想将这个命令块(通常是2或更多)直接以干净的方式传递给“条件做”,但我不知道这是可行的(或甚至可能)。有没有人有任何想法?
请注意,我需要它是一个可读的解决方案...否则我宁愿坚持我拥有的。
这将无法正常工作,我向用户输出了是否已完成,我想要保留的内容......该函数的重点在于如果要重新设置内联函数,则会删除所有样板文件再次膨胀剧本超出我想要的。 – 2008-09-19 22:01:47