История изменений
Исправление Zmicier, (текущая версия) :
Нормальная обвязка для цикла по файлам может выглядеть как-то так:
#!/bin/bash
# config
NAME="Your Name"
# подчеркиваю еще раз: это принципиально неверно, когда определитесь с
# именем, задайте $SCRIPTNAME явно
SCRIPTNAME="${0##*/}"
USAGE=$"Usage: $SCRIPTNAME <file>..."
err() {
printf >&2 "$SCRIPTNAME: $*\n"
continue 2>&-
exit 1
}
(( $# < 1 )) || err "$USAGE"
echo >&2 "$NAME"
date >&2
for file; do
[[ -f "$file" ]] || err $"‘$file’: No such file or directory"
# обработка каждого файла
done
А чтобы написать нормально то, что вы попытались сделать при помощи кучи временных файлов, я уже сказал, что я от вас жду.
Исправление Zmicier, :
Нормальная обвязка для цикла по файлам может выглядеть как-то так:
#!/bin/bash
# config
NAME="Your Name"
# подчеркиваю еще раз: это принципиально неверно, когда определитесь с
# именем, задайте $SCRIPTNAME явно
SCRIPTNAME="${0##*/}"
USAGE=$"Usage: $SCRIPTNAME <file>"
err() {
printf >&2 "$SCRIPTNAME: $*\n"
continue 2>&-
exit 1
}
(( $# < 1 )) || err "$USAGE"
echo >&2 "$NAME"
date >&2
for file; do
[[ -f "$file" ]] || err $"‘$file’: No such file or directory"
# обработка каждого файла
done
А чтобы написать нормально то, что вы попытались сделать при помощи кучи временных файлов, я уже сказал, что я от вас жду.
Исходная версия Zmicier, :
Нормальная обвязка для цикла по файлам может выглядеть как-то так:
#!/bin/bash
# config
NAME="Your Name"
SCRIPTNAME="${0##*/}"
USAGE=$"Usage: $SCRIPTNAME <file>"
err() {
printf >&2 "$SCRIPTNAME: $*\n"
continue 2>&-
exit 1
}
(( $# < 1 )) || err "$USAGE"
echo >&2 "$NAME"
date >&2
for file; do
[[ -f "$file" ]] || err $"‘$file’: No such file or directory"
# обработка каждого файла
done
А чтобы написать нормально то, что вы попытались сделать при помощи кучи временных файлов, я уже сказал, что я от вас жду.