Intereting Posts

Ubuntu bash echo «ПАРОЛЬ $» | sudo -S WID = $ (cat / var / lib / FILE)

/ var / lib / FILE root: root 0600 (одна строка текста)

Как я могу прочитать / var / lib / FILE в $ WID

echo "$PASSWORD" | sudo -S WID=$(cat /var/lib/FILE) not working for me. 

Если вам нужно содержимое файла в переменной в вашей текущей оболочке, вышеприведенное не сработает, поскольку присваивание выполняется в подоболочке и будет потеряно после выхода из подоболочки (по общему признанию, существуют оболочки, которые не теряют переменную).

Чтобы sudo работало, у вас должна быть запись в sudoers позволяющая запустить команду. Присвоение переменной не является командой, поэтому вышеописанное снова не удастся.

Если вы хотите, чтобы содержимое файла находилось в переменной без разрешения на чтение этого файла, попробуйте

 WID=$(echo "a" | sudo -S cat /var/lib/FILE)