我有一个脚本,我将三个东西输出到一个文件中。我只想给>
运营商打电话一次。有没有办法描述一块指令?我应该使用功能吗?
#!/bin/sh
for i in $(ls src)
do
f=${i%.*}
echo 'first bit' > dist/$i.htm
perl myScriptThatOutputsSecondBit.pl >> dist/$i.htm
echo 'third bit' >> dist/$i.htm
done
答案 0 :(得分:3)
使用compound/group
命令:
在current-shell中运行它,
{echo 'first bit';perl myScriptThatOutputsSecondBit.pl;echo 'third bit';} > dist/$i.htm
要在子shell中运行,
(echo 'first bit';perl myScriptThatOutputsSecondBit.pl;echo 'third bit') > dist/$i.htm
答案 1 :(得分:0)
编写一个简单的日志功能,这样会更有效率。 e.g。
log(){
echo $1 >> dist/$i.htm
}
然后从脚本中调用它:
for i in $(ls src)
do
f=${i%.*}
log 'first bit'
perl myScriptThatOutputsSecondBit.pl >> dist/$i.htm
log 'third bit'
done