Sida 1 av 1
sudo rm foobar.baz
Postat: 17 sep 2007, 11:25
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
SV: sudo rm foobar.baz
Postat: 17 sep 2007, 11:33
av Emil.s
Du kan ju testa att lägga in det i den globala bash konfigurationen. /etc/bash*något*
SV: sudo rm foobar.baz
Postat: 18 sep 2007, 12:56
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.
SV: sudo rm foobar.baz
Postat: 18 sep 2007, 19:29
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.
SV: sudo rm foobar.baz
Postat: 18 sep 2007, 19:32
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'
SV: sudo rm foobar.baz
Postat: 19 sep 2007, 12:00
av per9000
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
SV: sudo rm foobar.baz
Postat: 19 sep 2007, 14:36
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.