Расширенный корневой том, но tmpfs и devtmpfs ограничены

Вот функция для увеличения числовой строки. Он наблюдает ведущие нули и пытается сохранить количество цифр. Он не использует никаких переменных, поэтому не требует каких-либо расширений оболочки для объявления локальных переменных и не загрязняет пространство имен переменных :

.
# $1 -- decimal string, possibly with leading zeros or sign
# $2 -- integer increment, no leading zeros.
incnumstr()
{
  if [ $1 -lt 0 ] ; then
    set -- $(incnumstr ${1#-} $((- $2)))
    [ $1 -le 0 ] && printf "%s" ${1#-}  \
                 || printf "%s" -$1
    return
  fi

  set -- ${1#-} $2 # strip leading minus from zero

  [ $1 -eq 0 ] && printf "%s%0.*d" "$3" ${#1} $2 \
               || printf "%s%0.*d" "$3" ${#1} $(( ${1#${1%%[1-9]*}} + $2 ))
}

Интерактивные тесты:

$ echo $(incnumstr 0 0)
0
$ echo $(incnumstr -0 0)
0
$ echo $(incnumstr 0 1)
1
$ echo $(incnumstr 0 -1)
-1
$ echo $(incnumstr 00 1)
01
$ echo $(incnumstr 00 -1)
-01
$ echo $(incnumstr -10 10)
00
$ echo $(incnumstr -10 11)
01
$ echo $(incnumstr -10 20)
10
$ echo $(incnumstr -10 99)
89
$ echo $(incnumstr -10 110)
100
$ echo $(incnumstr 100 -90)
010
$ echo $(incnumstr 100 -99)
001
$ echo $(incnumstr 100 -100)
000
$ echo $(incnumstr 100 -101)
-001
$ echo $(incnumstr 100 -1234)
-1134
$ echo $(incnumstr -0000 0)
0000
$ echo $(incnumstr -0000 1)
0001
$ echo $(incnumstr -0000 -2)
-0002
0
12.11.2020, 18:14
1 ответ
  1. Там написано Используется :0 -, что означает, что он не полный , а пустой .

  2. tmpfsи devtmpfs— это файловые системы, основанные на памяти -, они ограничены объемом доступной оперативной памяти, а не доступным дисковым пространством. Обычно они могут потреблять до 50% ОЗУ, поэтому я предполагаю, что ваш экземпляр EC2 имеет 16 ГБ ОЗУ.

  3. Зачем вам нужно больше места в tmpfsили devtmpfs?

    На самом деле он не предназначен для хранения больших объемов данных. Также обратите внимание, что содержимое будет стерто при перезагрузке машины.

2
18.03.2021, 22:50

Теги

Похожие вопросы