
Hadd kedveskedjek a Linuxbox olvasóinak egy kis konzolos segédprogrammal!
A parancsterminál felületét alapjában véve egyetlen alkalmazás foglalja el, a shell. Azonban sok megoldás létezik még a grafikus ablakkezelõ elõtt is, amivel a konzolból munkaasztalt varázsolhatunk. Ilyen pl. a GNU screen, vagy a tmux terminál többszörözõ; válthatunk másik vty-re; vagy kicsit hasonlóak a háttérshellt használó programok, ahol a célprogramban végezzük gyakori mũveleteket (pl fájlkezelés mc-vel), minden másra pedig ott a shell.
A legtöbb shellnek van viszont beépített job kezelõje és különben is szeretem a már meglévõ megoldásokat használni! bash-ben így fest a feladatkezelõ:
$ find / -iname afajlaminemtudomholislehet &Ctrl-Z$ bg %1$ jobs$ fg %1Ezzel a pár rövidke builtin paranccsal kezelem a bash beépített feladatkezelõjét. Habár igen rövidek, sõt még így is rövidíteni lehet (fg %+ = fg = %+, bg %1 = %1&), jól jönne hozzá egy jobb job kezelõ!
Erre írtam a jobsel «job select» szkriptet.
PS1='\[\033[${PS1COLOR_USER}m\]\u\[\033[${PS1COLOR_AT}m\]@\[\033[${PS1COLOR_HOST}m\]\h$(ERRORLEVEL=$?; test \j -eq 0 || echo -n "\[\033[${PS1COLOR_DELIM1}m\]:\[\033[${PS1COLOR_JOBS}m\]\j"; test $ERRORLEVEL -eq 0 || echo -n "\[\033[${PS1COLOR_DELIM1}m\]:\[\033[${PS1COLOR_EXITCODE}m\]$ERRORLEVEL")\[\033[${PS1COLOR_DELIM1}m\]:\[\033[${PS1COLOR_WD}m\]\w\[\033[${PS1COLOR_DELIM2}m\]\$\[\033[00m\] 'PROMPT_COMMAND="$PROMPT_COMMAND${PROMPT_COMMAND:+; }"'jobs -l | _jobs_on_prompt'while(<>){ ($j,$p)=/(\d+)\]\S?\s+(\d+)/; open(P,"/proc/$p/stat") and ($c,$s)=(<P>=~/\s\((.+?)\)\s+(\S+)/) and $o.="[%$j $c($p) $s] "} print "\033[s\033[1;0H\033[$ENV{PS1COLOR_JOBS}mjobs: $o\033[m\033[u" if$.
alias j='eval $(jobsel "$(jobs -l)" $COLUMNS)', bind -x '"\204"':"eval \$(jobsel \"\$(jobs -l)\" \$COLUMNS)"
bind '"\ej"':"\"\204\""Innen már boldogulsz, jobbra-balra kiválaszt, enter "megnyit", kérdõjel súgó.
Köszönöm, jó hekkelést!
| Csatolmány | Méret |
|---|---|
| jobsel.txt | 2.99 KB |
| taslis.txt | 2.81 KB |
Hozzászólások
köszönjük
Először is köszi szépen az újévi posztot!
Nekem is tetszik a dolog, bár én már hozzászoktam a screen-hez - így azt kis valószínűséggel cserélem le - de kipróbálni kipróbálom ha akad egy kis időm.
Ugyanakkor a háttérben futtatást kevés alakalommal használom. Legtöbbször akkor mikor sokkal később várom az eredményt és nohup-pal futtatva ott is hagyom a dolgot és kilépek és később visszatérve nézem meg az eredményt amit logba irányítok... ugye mindez szervereken...
Egész ügyes!
Egész ügyes!