решение @jherran поставленный, вероятно, должен встретить вас. Если вы просто хотите скрипт дать вы следующее имя файла, а не создавать его для вас, изменить "сенсорный" на "эхо" в конце своего сценария.
однако, это будет становиться все медленнее и медленнее, как вы добавляете много файлов. Если у вас есть потребность в последовательных номерах, вы можете просто записать текущий номер в файл, а затем прочитать его обратно, прежде чем писать следующий файл, записать новый номер и написать достань свое дело. Я предоставил пример кода, чтобы сделать это ниже.
однако, если вам не нужны последовательные номера, и просто хотите не сталкивающихся имен файлов, дата-марки очень полезны. Они сортируются так, как вы ожидаете, и если вы не путешествуете во времени, монотонно увеличиваются.
для ответа на вопрос, который вы задали (сценарий оболочки, чтобы вернуть следующее значение) на основе моего предложения выше только с помощью файла счетчика, вот это:
#!/usr/bin/sh
if [ -f counter.txt ]; then
{
VAL=`cat counter.txt`
echo "out-$VAL.avi"
VAL=`expr $VAL + 1`
echo "$VAL" > counter.txt
exit 0
}
fi
echo "out-1.avi"
echo "2" > counter.txt
exit 0
или, если вы хотите чтобы пойти с моим предложением о датах для уникальности и сортировки, просто попросите свою программу для записи файлов захватить вывод этой команды:
date +%F-%T
или любой степени детализации дат и времен вы считаете полезным. Выше будет дать вам что-то вроде этого:
2014-12-01-16:41:33
шлепнуть ".avi " на конце, и у вас есть временные метки имен файлов, вплоть до второго.