Tato otázka zde již obsahuje odpovědi :Přesměrování stdout do souboru, do kterého nemáte oprávnění k zápisu
(7 odpovědí)
Uzavřeno před 6 lety.
Linux
(7 odpovědí)
Uzavřeno před 6 lety.
Proč mám
-bash: test: Permission denied
když běžím
sudo echo "xyz" > test
Oprávnění k adresáři jsou:
drwxr-xr-x 3 root root 4096 2014-08-05 16:26
Nemám problém vytvořit soubor v adresáři pomocí sudo
. Ale proč do toho nemůžu sudo echo?
Přijatá odpověď:
K tomu dochází, protože spouštíte pouze echo
příkaz jako root. O přesměrování výstupu se stará váš (non-root) shell. Abyste tomu zabránili, nepoužívejte přesměrování shellu a pro zpracování zápisu použijte skutečný příkaz:tee
. Co chcete udělat, můžete udělat takto:
echo "xyz" | sudo tee test > /dev/null
(pokud výstup nepřesměrujete, tee
vypíše xyz
také na stdout)