Uma coisa que eu vou fazer é usar echo
para remover espaços em branco indesejáveis. Neste contexto, é importante omitir quaisquer citações:
LOGDEVICELABEL=FLASHDRIVENAME
MD=$(lsblk -I 8 -o label,uuid -n|sed -e '/^$/ d' -e '/^$LOGDEVICELABEL.*$/ d')
MD=$(echo $MD) # <-- This line
MDLOGDIR=/media/$LOGDEVICELABEL/Log/$MD
mkdir $MDLOGDIR
O shell chama o comando echo
e fornece uma série de tokens, e o comando echo
imprime esses tokens separados por um caractere de espaço. Isso tem o efeito de (1) pular espaços em branco à esquerda e à direita e (2) converter um ou mais caracteres de espaço em branco entre símbolos para um único espaço.
Meu uso de $(...)
em vez da versão de retrocesso neste contexto é equivalente à versão de retrocesso. Geralmente eu acho esta versão mais fácil de ler. Ele também tem o bom benefício que pode ser aninhado ( $(...$(...))
) onde a versão de retrocesso não pode.