— Do kiu povas esti savita?
— Kiu skribas ŝelskripton anstataŭ C-programon, tiun Sankta IGNUcio savos.


watch estas iom malica programo! mi neniam certas, kiel kaŝeti ĉion! do mi simple reprovadas la saman aferon milfoje…
$ watch bash -c 'du /tmp/*.mp4'$ watch find /tmp -name '*.mp4' -exec du {} \;$ watch find /tmp -name '*.mp4' -exec du {} \\;$ watch find /tmp -name \'*.mp4\' -exec du {} \\;$ watch bash -c 'kontrol() ( find /tmp -name "*.mp4" -exec du {} \; 2>/dev/null); kontrol'
kaj neniu funkcias. freneziĝas! mi freneziĝas!!!
$ echo 'kontrol() ( find /tmp -name "*.mp4" -exec du {} \; 2>/dev/null); kontrol' > /tmp/kontrol.sh$ watch sh /tmp/kontrol.sh
tio plifacilis.
Je Imakso, mirinde utilas shell-command-on-region (M-| ), per kiu oni metas tekston kiel enigo al programo.
Mi ĵus malkovris hodiaŭ la egale utilan sh-execute-region, kiu rulas liniojn kiel ŝelprogramo! Mi agordis ĝin hodiaŭ al C-c |.
Tiuanime, hodiaŭ mi skribis simplan funkcion, execute-buffer. Se vi redaktas skripton, per ĝi povas simple ruli la nunan dosieron kaj vidi la eligon. Tre utilas por ŝelo kaj bc-umado, ktp, kiel mi ofte faras.
(global-set-key (kbd "C-c \\") 'execute-buffer)(defun execute-buffer () "Execute the current buffer’s file, sending output to a buffer." (interactive) (shell-command (format "\"%s\"" (buffer-file-name))))