Portál AbcLinuxu, 10. května 2025 04:24
Řešení dotazu:
lspci -nnk | grep -i net
sudo touch /etc/modprobe.d/ath9k.conf sudo echo "options ath9k nohwcrypt=1" > /etc/modprobe.d/ath9k.confa restartovat.
sudo -i
. Dá se to různě obcházet, ale tohle je nejjednodušší.
sudo echo
nefunguje, anžto se jedná o shell built-in. Je nutno použít
sudo su -c 'echo "options ath9k nohwcrypt=1" > /etc/modprobe.d/ath9k.conf'
$ sudo echo test > /test; echo $?
bash: /test: Operace zamítnuta
1
$ sudo su -c 'echo test > /test'; echo $?
0
Ještě máš něco inteligentního?
Ještě máš něco inteligentního?Jen to, že nejen že jsi napsal blbost, nepochopil jsi chybovou hlášku, ale ani nejsi schopný své tvrzení smysluplně otestovat.
$ which echo /usr/bin/echoTedy existuje binárka jménem
echo
. Zároveň existuje shell built-in stejného jména, který je funkčně ekvivalentní (porovnej man echo
a help echo
).
$ sudo echo asdf asdfTo tě nenapadlo zkusit ani tohle? Samozřejmě, že
sudo
v tomto případě nepoužile built-in echo, ale použije /bin/echo
.
Technická, sudo echo nefunguje, anžto se jedná o shell built-in. Je nutno použítTvé tvrzení je tedy totální blábol, nehledě na to, že ti to říká i sám systém, který hlási „operace zamítnuta“, čímž ti jemně naznačuje, že problém asi nebude v tom, že něco nenašel.
Ne, nevím, proč bych zkoušel něco, kde evidentně nevznikne problém, protože žádné sudo není vzhledem k právům potřeba. Opět děkuji za inteligentní příklad.$ sudo echo asdf asdfTo tě nenapadlo zkusit ani tohle?
Pro ostatní je zde pak ten můj funkční příkazDva dny potom, co to tazatel na základě mé rady zvládl?
Když už se tu tak špičkově flameujete, tak pro pořádek:
sudo echo "xxx" > /etc/modprobe.d/abc.xyz bash: /etc/modprobe.d/abc.xyz: Permission deniedi
sudo /bin/echo "xxx" > /etc/modprobe.d/abc.xyz /etc/modprobe.d/abc.xyz: Permission denied(proč, proboha, to se to přesměrování do souboru provede bez rootovských práv?)
Větší zvrhlosti typu
sudo '/bin/echo "xxx" > /etc/modprobe.d/abc.xyz'samozřejmě končí takto
sudo: /bin/echo "xxx" > /etc/modprobe.d/abc.xyz: command not foundFunkční řešení je
sudo su -c 'echo "xxx" > /etc/modprobe.d/abc.xyz'možná je i nějaké další... Zkoušeno na Mint 12
echo "xxx" | sudo tee /etc/modprobe.d/abc.xyzJe dobré porozumět fungování shellu a přesměrování.
(proč, proboha, to se to přesměrování do souboru provede bez rootovských práv?)Protože shell, který realizuje přesměrování do souboru, rootovská práva nemá. Zatímco
echo
, které roota vůbec nepotřebuje, je volané zbytečně přes sudo
.
Sám používám výše zmíněnou metodu se sudo tee
, ale bylo zbytečné tím zatěžovat začátečníka, proto jsem radil sudo -i
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.