Just in case for people running old servers: This simple code cause a memory leak in bash:
#!/bin/bash # Array=("S" "E") while [ 1 ]; do A=${Array[0]} done But, adding colons to the assignment it doesn't: #!/bin/bash # Array=("S" "E") while [ 1 ]; do A="${Array[0]}" done Just reading the array content it doesn't: #!/bin/bash # Array=("S" "E") while [ 1 ]; do echo ${Array[0]} done So looks it like it's indexing the array and assigning it to another variable without "" causes a memory leak. # bash --version GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later [1]<http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. # ldd /bin/bash linux-vdso.so.1 (0x00007ffcd2f27000) libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f26f4dbf000) libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f26f4b95000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f26f4991000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f26f45e6000) /lib64/ld-linux-x86-64.so.2 (0x00007f26f4fe4000) # dpkg -l |grep libncurses ii libncurses5:amd64 5.9+20140913-1+deb8u3 amd64 shared libraries for terminal handling ii libncurses5-dev:amd64 5.9+20140913-1+deb8u3 amd64 developer's libraries for ncurses ii libncursesw5:amd64 5.9+20140913-1+deb8u3 amd64 shared libraries for terminal handling (wide character support) # dpkg -l |grep libtinfo ii libtinfo-dev:amd64 5.9+20140913-1+deb8u3 amd64 developer's library for the low-level terminfo library ii libtinfo5:amd64 5.9+20140913-1+deb8u3 amd64 shared low-level terminfo library for terminal handling # cat /etc/debian_version 8.11 # uname -a Linux city 4.9.110-Mod #1 SMP Mon Oct 19 12:46:42 CEST 2020 x86_64 GNU/Linux -- Jordi Ferrer INSTAL·LACIONS, TELECOMUNICACIONS I INFORMÀTICA [2]jfer...@wattia.cat (+34) 634 631 625 Wattia Innova S.L. | C/ Bòsnia, 6-8 | 17800 - Olot, Girona Tel. (+34) 972 26 80 02 | [3]http://wattia.cat Avis Legal. La informació que conté aquest missatge de correu electrònic és CONF IDENCIAL i pot incloure dades de caràcter reservat. El seu accés o ús per part d'una tercera persona no autoritzada pot ser il·legal . Si vostè no n'és el destinatari, si us plau elimini'l i ens ho faci saber immediatament per aquesta mateixa via o pel telèfon (+34 972 26 80 02). El correu electrònic no permet assegurar la confidencialitat dels missatges, ni la seva recepció íntegra i correcta. No assu mim cap responsabilitat per aquestes circumstàncies. Si el destinatari no autoritza l'ús del correu electrònic o l'arxivament dels mi ssatges, li preguem que ens ho comuniqui. Abans d'imprimir aquest missatge pensi bé si és realment necessari fer-ho: El me di ambient és cosa de tots! References 1. http://gnu.org/licenses/gpl.html 2. mailto:jfer...@wattia.cat 3. http://wattia.cat/