/var/lib/FILE root:root 0600 (텍스트 한 줄)
/var/lib/FILE을 $WID로 읽는 방법
echo "$PASSWORD" | sudo -S WID=$(cat /var/lib/FILE) not working for me.
답변1
현재 셸의 변수에 파일 내용이 필요한 경우 위의 접근 방식은 작동하지 않습니다. 할당이 하위 셸에서 수행되고 하위 셸을 종료한 후 손실되기 때문입니다(물론 일부 셸에서는 변수가 손실되지 않습니다). .
작업 하려면 명령을 실행할 수 있는 항목이 sudo
있어야 합니다 . sudoers
변수 할당은 명령이 아니므로 위의 작업은 다시 실패합니다.
파일의 내용을 변수에 저장하고 싶지만 파일을 읽을 수 있는 권한이 없다면 다음을 시도해 보세요.
WID=$(echo "a" | sudo -S cat /var/lib/FILE)