/ 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)