Portál AbcLinuxu, 26. prosince 2025 04:15
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.