Хорошо ... это то, к чему я пришел, но я не уверен, есть ли лучший способ:
class cpto(Command):
""":cpto
copies the file to a special directory
"""
def execute(self):
self.fm.execute_console("shell cp %s ~/.special_directory &")
Я смог изучить объект fm
более подробно, клонирование репозитория рейнджера, cd
в нем и запуск pydoc.ranger.core.actions
Вы можете передать его по конвейеру:
cat text.txt sql_out.sql | mysql --host=...
В качестве альтернативы, чтобы не создавать новый файл:
(echo "USE db1;"; cat sql_out.sql) | mysql --host=...
Вы можете использовать замену процесса здесь:
mysql --host=<host> --user=<user> --password=<pwd> < <(cat text.txt sql_out.sql)
синтаксис <(...)
обрабатывает процесс как файл