У меня есть скрипт bash, который будет отображаться в файле config.txt. Каждый раз, когда он выполняется, я хочу, чтобы он вставил значение в качестве маркера.
Пример того, что у меня сейчас есть
echo userdataOH$((RANDOM % 10))\", >> /usr/local/src/bin/config.txt
Это выдаст userdataOH1-10
, но случайное значение и значение могут быть одинаковыми.
Я хотел бы что-то вроде
echo userdataOH$((Value))\", >> /usr/local/src/bin/config.txt
с Value
, равным 1-10, и числа не могут повторяться. Это возможно?
#!/usr/bin/env bash
config_file=/usr/local/src/bin/config.txt
last_value=$(tail -1 $config_file 2>/dev/null | perl -n -e 'print $1 if /OH(\d+)",\s*$/' || 0)
next_value=$((last_value + 1))
echo -n userdataOH$next_value\", >> $config_file
Строка last_value
извлекает число после OH
из последней строки входного файла (config.txt). Если такое число не может быть найдено, по умолчанию используется значение 0
.
echo -n
подавляет обычный \n
(перевод строки) после эха. Без этого все новые строки userdataOHNN
были бы на отдельной строке вместо добавления к последней строке.
Я не уверен насчет \"
в вашем вопросе. Он печатает буквальный "
. Бросьте его из команд echo
и perl
, если это опечатка.
lspci | grep -i vga
вывод00:02.0 VGA comaptible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
. Так, это неIntel binary Xorg driver for GMA3600 (Cedarview) GPU
? – RanRag 24 August 2012 в 00:59lspci | grep -i vga
вывод00:02.0 VGA comaptible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
. Так, это неIntel binary Xorg driver for GMA3600 (Cedarview) GPU
? – RanRag 24 August 2012 в 00:59lspci | grep -i vga
вывод00:02.0 VGA comaptible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
. Так, это неIntel binary Xorg driver for GMA3600 (Cedarview) GPU
? – RanRag 24 August 2012 в 00:59lspci | grep -i vga
вывод00:02.0 VGA comaptible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
. Так, это неIntel binary Xorg driver for GMA3600 (Cedarview) GPU
? – RanRag 24 August 2012 в 00:59lspci | grep -i vga
вывод00:02.0 VGA comaptible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
. Так, это неIntel binary Xorg driver for GMA3600 (Cedarview) GPU
? – RanRag 24 August 2012 в 00:59lspci | grep -i vga
вывод00:02.0 VGA comaptible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
. Так, это неIntel binary Xorg driver for GMA3600 (Cedarview) GPU
? – RanRag 24 August 2012 в 00:59