Portál AbcLinuxu, 7. května 2025 22:28
alias mem="free -m"
Chci, aby po zadání "mem" se zobrazilo, že jde o "free -m" a následně se toto provedlo. Standardně se přiřazený příkaz nezobrazuje.
Narazil jsem na řešení typu napsat "type a jméno aliasu", ale když to napíšete pod zkratku aliasu, např:
alias mem="type mem;free -m"
ukáže vám to komplet vše i s příkazem type a pak až se příkaz provede. Chtělo by to přímo nějakým skriptem, který se zavede do bashe, aby aliasy automaticky vykonával a předtím obsah vypisoval, což nevím jak se dělá. Nebo nějaké jiné chytré řešení.
Děkuji za nápady.
Řešení dotazu:
alias mem="echo free -m;free -m"
$ cat ~/.bash_aliases sa(){ alias ${1:-dummy} 2>/dev/null | sed "s/[^;]*//;s/;[ ]*//;s/'$//"; } alias mem="sa mem;free -m"pripadne potrebujes to zobrazit vzdy a automaticky pred spustenim aliasu?
$ cat ~/.bash_aliases sa(){ echo ${BASH_ALIASES[${1}]/sa ${1};}; } alias mem="sa mem;free -m"
command_not_found_handle
, aliasy definovat třeba jako _xmem
(aby „příkaz“ mem
neexistoval) a ten handler zjistí jestli existuje „správný“ alias, vypíše ho a spustí.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.