Вам нужно:
alias aliasname="free | awk '/^Mem/ { printf(\"free: %.2f %\n\", \$4/\$2 * 100.0) }'"
Обратите внимание, что вам нужно экранировать как "
, так и $
.
На самом деле я только что узнал, как это сделать, прочитав, как кто-то реализовал модуль для лемонгара
import time
from subprocess import Popen, PIPE
fd = Popen('lemonbar', stdin=PIPE, stdout=PIPE, encoding='UTF-8')
while True:
time.sleep(1)
fd.stdin.write('%{c}hello')
fd.stdin.flush()
print(fd.stdout.read())
Хитрость заключалась в том, чтобы очистить файловый дескриптор после записи в него
Так что я мог бы сделать и так
bar.py
import time
import sys
fd = sys.stdout
while True:
fd.write("%{c}hello")
fd.flush()
time.sleep(1)
и запустите как обычно
python bar.py | lemonbar