Ale speciálně příkaz echo nelze současně se sudo použít.
Promiň, ale s touto formulací nemohu souhlasit. Problém je jinde, než píšeš. To, co píšeš, by platilo třeba pro příkaz „cd“, protože k němu neexistuje odpovídající program − „sudo cd“ tak vypíše „sudo: cd: příkaz nenalezen“, ale echo existuje i jako /bin/echo a sudo zrovna toto echo najde a bez problémů spustí (i když pochybuji, že je to to, co MatesAN chtěl).
Ve skutečnosti vůbec není problém se sudo; problém je v přesměrování výstupu − sudo je program, který (nejčastěji) funguje tak, že svůj první parametr spustí jako nový proces s právy superuživatele a všechny ostatní parametry spuštěnému procesu předá. Jenže přesměrování značkou > nebo >> není parametr, to přesměrování zařizuje už volající bash, takže přesměrovává výstup příkazu sudo, ne příkazu echo! A protože volající bash nemá právo ten soubor otevřít pro zápis, nedokáže tam pro sudo přesměrovat výstup, a tedy selže ještě dřív, než se sudo vůbec spustí!
S řešeními přesměrovaní, která uvádíš, souhlasím. Ale to vysvětlení s uvozovkami mě mate. Já znám na vypsání "1" pomocí příkazu echo čtyři různé smysluplné syntaxe:
echo \"1\"
echo "\"1\""
echo '"1"'
echo $'"1"'
Všechny jsou správně a fungují a záleží jen na uživateli, která se mu líbí nejvíc. Speciálně pro „zelenáče“ bych asi doporučil/a apostrofy, protože pokud člověk zrovna nepotřebuje vypsat apostrof, je s nimi nejméně starostí.