Add shellify

This commit is contained in:
Přemysl Eric Janouch 2016-01-22 08:59:58 +01:00
parent 8146e336d7
commit 9908181467
3 changed files with 27 additions and 0 deletions

View File

@ -56,6 +56,7 @@ install (FILES fancontrol-ng.conf.example
install (TARGETS dwmstatus brightness fancontrol-ng
DESTINATION ${CMAKE_INSTALL_BINDIR})
install (PROGRAMS shellify DESTINATION ${CMAKE_INSTALL_BINDIR})
install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
# CPack

View File

@ -12,6 +12,8 @@ to other people as well.
- 'fancontrol-ng' is a clone of fancontrol that can handle errors on resume
from suspend instead of setting fans to maximum speed and quitting;
in general it doesn't handle everything the original does
- 'shellify' is a simple script that sets up a shell for commands like vgdb
and nmcli that are painfully lacking it
Don't expect them to work under any OS that isn't Linux.

24
shellify Executable file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env python3
# Runs a special shell prepending a given command
import sys
import os
import readline
import itertools
prefix = ' '.join (sys.argv[1:])
readline.parse_and_bind ('TAB: complete')
for n in itertools.count (start=1):
try:
line = input ('\x1b[1m%s %d>\x1b[0m ' % (prefix, n))
if line == '':
continue
readline.add_history (line)
os.system (prefix + ' ' + line)
except (EOFError, KeyboardInterrupt) as err:
print ('')
break
except Exception as err:
print ('%s\n' % err)