sudo rm foobar.baz

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

sudo rm foobar.baz

Inlägg av per9000 »

Jag vill ha "rm -v" istället för rm när jag kör sudo, så jag lade in ett alias för det. Men det verkar inte slå igenom när jag kör sudo (det funkar å andra sidon om jag kör "sudo su").

Jag får känslan att det är olika .bashrc-filer på något sätt.

Kod: Markera allt

>grepp "rm -v" /root/.bashrc
alias rm="rm -v"

>sudo rm foobar.baz 
Password:

>touch foobar.baz

>rm foobar.baz
removed `foobar.baz'
Någon som har ett tips.

/Per
--
Per Erik Strandberg
Yet Another IT Consultant
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

SV: sudo rm foobar.baz

Inlägg av Emil.s »

Du kan ju testa att lägga in det i den globala bash konfigurationen. /etc/bash*något*
Home sweet ~/ = http://sandnabba.se
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

SV: sudo rm foobar.baz

Inlägg av Lars »

Alias fungerar bara om det är det första ordet på raden. För att läsa in roots ~/.bashrc måste du köra sudo -i.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

SV: sudo rm foobar.baz

Inlägg av Konservburk »

Lars skrev: Alias fungerar bara om det är det första ordet på raden.
Du menar det första ordet i ett enkelt kommando.
(Det finns dock undantag, se exemplet i nästa inlägg.)

Kod: Markera allt

bash$ alias date
bash: alias: date: not found
bash$ date
Tue Sep 18 19:27:04 CEST 2007
bash$ TZ=Antarctica/South_Pole date
Wed Sep 19 05:27:13 NZST 2007
bash$ alias date="echo bummer"
bash$ TZ=Antarctica/South_Pole date
bummer
Lars skrev: För att läsa in roots ~/.bashrc måste du köra sudo -i.
sudo -i läser bara in ~root/.bash_profile för mig.
Senast redigerad av 1 Konservburk, redigerad totalt 18 gånger.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

SV: sudo rm foobar.baz

Inlägg av Konservburk »

per9000 skrev: Jag vill ha "rm -v" istället för rm när jag kör sudo, så jag lade in ett alias för det. Men det verkar inte slå igenom när jag kör sudo

Kod: Markera allt

bash$ sudo touch /junk
Password:
bash$ ls -l /junk
-rw-r--r-- 1 root root 0 Sep 18 19:31 /junk
bash$ alias sudo="sudo "
bash$ alias rm="rm -v"
bash$ sudo rm /junk
Password:
removed `/junk'
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: sudo rm foobar.baz

Inlägg av per9000 »

DrKonservburk skrev:

Kod: Markera allt

[...]
bash$ alias sudo="sudo "
[...]
Detta lilla trick i min .bashrc gjorde så att jag fick det jag ville - lite flummigt, men känns ganska bra. Jag antar att jag med detta kan köra alla mina alias utan att behöva ge dem till root också?

Kod: Markera allt

>grepp "sudo" .bashrc
#magic alias for getting sudo rm -r and so on
alias sudo="sudo "
/Per
--
Per Erik Strandberg
Yet Another IT Consultant
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

SV: sudo rm foobar.baz

Inlägg av Konservburk »

per9000 skrev: Detta lilla trick i min .bashrc gjorde så att jag fick det jag ville - lite flummigt, men känns ganska bra. Jag antar att jag med detta kan köra alla mina alias utan att behöva ge dem till root också?

Kod: Markera allt

>grepp "sudo" .bashrc
#magic alias for getting sudo rm -r and so on
alias sudo="sudo "
Det där gör att bash använder alias även för ordet efter sudo.
man bash skrev: If the last character of the alias value is a blank (space or tab),
then the next command word following the alias is also checked
for alias expansion.
Skriv svar

Återgå till "Terminalforum"