我有一个脚本 process.csh,用于通过许多步骤处理许多文件,上面的输出是下面命令的输入。我是否需要在命令之间插入延迟以确保实际过程中不存在潜在错误?
sed -i.bak -e '1488,2627d' FF_3p63_0p99_m040c.lib
sed -i.bak -e '1488,2627d' FF_3p63_0p99_p125c.lib
sed -i.bak -e '1488,2627d' SS_2p97_0p81_m040c.lib
sed -i.bak -e '1488,2627d' SS_2p97_0p81_p125c.lib
sed -i.bak -e '1488,2627d' TT_3p30_0p90_p025c.lib
sed -n '2716,3855p' FF_3p63_0p99_m040c.lib.bak | sed 's/_V/_H/g' > FF_3p63_0p99_m040c.split
sed -n '2716,3855p' FF_3p63_0p99_p125c.lib.bak | sed 's/_V/_H/g' > FF_3p63_0p99_p125c.split
sed -n '2716,3855p' SS_2p97_0p81_m040c.lib.bak | sed 's/_V/_H/g' > SS_2p97_0p81_m040c.split
sed -n '2716,3855p' SS_2p97_0p81_p125c.lib.bak | sed 's/_V/_H/g' > SS_2p97_0p81_p125c.split
sed -n '2716,3855p' TT_3p30_0p90_p025c.lib.bak | sed 's/_V/_H/g' > TT_3p30_0p90_p025c.split
sed '1487r FF_3p63_0p99_m040c.split' FF_3p63_0p99_m040c.lib > ./temp/FF_3p63_0p99_m040c.lib
sed '1487r FF_3p63_0p99_p125c.split' FF_3p63_0p99_p125c.lib > ./temp/FF_3p63_0p99_p125c.lib
sed '1487r SS_2p97_0p81_m040c.split' SS_2p97_0p81_m040c.lib > ./temp/SS_2p97_0p81_m040c.lib
sed '1487r SS_2p97_0p81_p125c.split' SS_2p97_0p81_p125c.lib > ./temp/SS_2p97_0p81_p125c.lib
sed '1487r TT_3p30_0p90_p025c.split' TT_3p30_0p90_p025c.lib > ./temp/TT_3p30_0p90_p025c.lib
答案1
不,不需要插入延迟,它们不会对潜在错误产生任何影响。
但是,您应该检查错误 - 在当前系统上执行此操作的最简单方法是添加
set -e
在脚本的开头。看David Pashley 编写健壮 shell 脚本的指南。但请注意,这set -e
不是万能药,有行为上的细微差别取决于您使用的 shell。