hoe maak je een alias dat werkt aan voor 'sudo !!' (bash )

Pagina: 1
Acties:

  • baziel
  • Registratie: Februari 2003
  • Laatst online: 26-01-2023
hoi,

iemand een idee hoe ik een alias aanmaak voor het volgende?
(shell=bash os=suse 9.2)
met !! krijg je de vorige regel uit de history terug
het gebeurt mij nogal regelmatig dat ik niet genoeg rechten heb om <iets>
dan moet ik dus sudo <iets> doen.
dat kan dus door 'sudo !!' in te tikken. dat werkt ook nog.
maar ik ben een Luie Hond (tm) dus ik wil dat via een alias 's'
maar
code:
1
2
3
4
5
6
7
8
9
10
baziel@BazielP4LinuxClient:~> ./iets
bash: ./iets: Permission denied
baziel@BazielP4LinuxClient:~> sudo !!
sudo ./iets
 Mooi. het werkt
baziel@BazielP4LinuxClient:~> ./iets
bash: ./iets: Permission denied
baziel@BazielP4LinuxClient:~> s
sudo: !!: command not found
baziel@BazielP4LinuxClient:~>

mijn alias is
code:
1
alias s="sudo !!"

iets=
code:
1
2
#! /bin/bash
echo " Mooi. het werkt"

en iets is van root en alleen uitvoerbaar door root.
iemand een idee?

Baziel


  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:48
Ga je hier niet ontiegelijk veel problemen mee krijgen als je een ander commando met s typt? Dus bijvoorbeeld skype (even voor het gemak via commandline :P)
wordt dat dan niet sudokype, hmm error ken ik niet????

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 15-02 20:53

Robtimus

me Robtimus no like you

Paultje3181 schreef op dinsdag 23 november 2004 @ 23:05:
Ga je hier niet ontiegelijk veel problemen mee krijgen als je een ander commando met s typt? Dus bijvoorbeeld skype (even voor het gemak via commandline :P)
wordt dat dan niet sudokype, hmm error ken ik niet????
bash vervangt alleen maar als het het volledige commando is. Dus 's' wordt wel 'sudo !!', maar 'su' blijft gewoon 'su'.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Je zou misschien iets met een tail van ~/.bash_history kunnen doen?

edit:

Dat gaat niet werken
.

Zoek eens op 'fc'

[ Voor 59% gewijzigd door chris op 23-11-2004 23:19 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Dit lijkt te werken.. 't is wel tricky zooi ;)

code:
1
2
3
function foo(){
  time $(fc -ln -1);
}


demo:
code:
1
2
3
4
5
6
cordelia:/home/marco# locate fbnjdfbnfd
cordelia:/home/marco# foo

real    0m0.925s
user    0m0.763s
sys     0m0.056s

[ Voor 16% gewijzigd door CyBeR op 23-11-2004 23:55 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


  • baziel
  • Registratie: Februari 2003
  • Laatst online: 26-01-2023
code:
1
2
3
4
baziel@BazielP4LinuxClient:~> ./iets
bash: ./iets: Permission denied
baziel@BazielP4LinuxClient:~> s
 Mooi. het werkt


_/-\o_

Baziel


  • Vaudtje
  • Registratie: April 2002
  • Niet online
Kun je niet single quotes gebruiken om de !! uitgevoerd te krijgen? Ik weet ff niet hoe je die dingen escapet in een alias, maar ik stel me er zoiets bij voor:
code:
1
alias s="sudo \'!!\' "

waarbij \' dus een geescapede single quote is :P

[ Voor 7% gewijzigd door Vaudtje op 25-11-2004 13:39 ]

In deeze zin staan drie fauten


Verwijderd

Kan het niet met een shell scriptje?

code:
1
2
#!/bin/bash
sudo !!


chmod 700 en vwala, of mis ik iets?
Pagina: 1