【发布时间】:2014-01-22 14:16:36
【问题描述】:
我正在制作一个搜索文件并计算它们的脚本。后来,我使用这个计数值来创建备份文件。这就是它的样子:
#!/bin/sh
#LOCAL VAR PERFECTLY DEFINED
if $estdifferent ; then
x=0;
for fic in `find $OTHERDIR/liste/ -type f -name "${filename}_bak*"` ; do
{
filename_tab[x]=$fic
((x++))
}
echo "tableau rempli, nombre de fichier bak : "$x
此代码块在“查找”至少找到一个文件时有效,但在有 0 个文件时无效。 脚本没有到达最后一个“回声”。调试模式在以下位置停止脚本:
echo differents
differents
true
x=0
find /tech/gtr/scripts/osm/scan-configs/liste/ -type f -name 'IDF-952584-S...
为什么?
【问题讨论】:
-
/bin/sh是什么风格和版本?这不是有效的bash语法。for循环看起来像for ... ; do ... done,而不是{ ... }块。 -
红帽的 Bash 4.1.2(1)。找到文件时,此“for”语法起作用:)