Ubuntu bash echo “$ PASSWORD” | sudo -S WID = $ (cat / var / lib / FILE)

0

/ var / lib / raiz do FILE: raiz 0600 (uma linha de texto)

Como posso ler o / var / lib / FILE no $ WID?

 echo "$PASSWORD" | sudo -S WID=$(cat /var/lib/FILE) not working for me.
    
por Bjorn 19.08.2018 / 14:33

1 resposta

1

Se você precisar do conteúdo do arquivo em uma variável em seu shell atual, acima não funcionará porque a atribuição é feita em um subshell e será perdida após sair do subshell (reconhecidamente existem shells que não perdem a variável).

Para que sudo funcione, você precisa ter uma entrada em sudoers , permitindo que você execute um comando. Uma atribuição de variável não é um comando, portanto, acima, falhará novamente.

Se você quiser o conteúdo de um arquivo em uma variável sem ter permissão para ler esse arquivo, tente

WID=$(echo "a" | sudo -S cat /var/lib/FILE)
    
por 19.08.2018 / 15:25

Tags