事前に「入力」されたことは、対話型コンソールにユーザーがEnterキーを押して実行(編集および)するのを待つコードテキストがあることを意味します。
readlineが何かをサポートする必要があるようですが、そうでないことを確認するだけで十分です。少なくとも予想通り、追加の自動化ツールをインストールすることが唯一の方法であることがわかります。
ベストアンサー1
これが役に立つか、readlineではないかはわかりませんが、Pythonが代替(または類似)である場合、1つのアプローチは次のとおりです。
#!/usr/bin/env python
""" Inject command to own command line """
import sys, fcntl, termios
def main():
""" x """
tty = sys.stdin
old_attr = termios.tcgetattr(tty)
new_attr = termios.tcgetattr(tty)
# No echo please
new_attr[3] &= ~termios.ECHO
termios.tcsetattr(tty, termios.TCSANOW, new_attr)
cmd = ' '.join(sys.argv[1:])
for char in cmd:
fcntl.ioctl(tty, termios.TIOCSTI, char)
termios.tcsetattr(tty, termios.TCSANOW, old_attr)
if __name__ == '__main__':
main()
良い:
script_name command to inject