我正在尝试编写一个在FreeBSD上执行2个脚本的for循环.我不在乎它是用sh还是csh写的.我想要的东西:
for($i=11; $i<=24; $i++) { exec(tar xzf 'myfile-1.0.' . $i); // detect an error was returned by the script if ('./patch.sh') { echo "Patching to $i Failed\n"; } }
有人知道怎么做吗?
谢谢
csh做的循环很好,问题是你使用的是exec,它在同一个进程中用不同的程序替换当前程序(也就是shell).由于其他人提供了sh版本,这里有一个csh:
原文链接:https://www.f2er.com/bash/384344.html#!/bin/csh set i = 11 while ($i < 25) tar xzf "myfile-1.0.$i" # detect an error was returned by the script if ({./patch.sh}) then echo "Patching to $i Failed" endif @ i = $i + 1 end
不确定./patch.sh你是在测试它的存在还是运行它?我在这里运行它,并测试结果 – true表示它返回零.或者:
# detect an error was returned by the script if (!{tar xzf "myfile-1.0.$i"}) then echo "Patching to $i Failed" endif