Параметр командной строки -e
konsole указывает программу для запуска во вновь созданной эмуляции терминала; обычно это будет оболочка (например, /bin/bash
или /bin/tcsh
), но это может быть любая консольная программа. Это может быть любой исполняемый файл; он будет работать со своими stdin, stdout и stderr, перенаправленными на эмулируемый терминал, созданный konsole.
Чего не может быть, так это строки, которая должна интерпретироваться оболочкой, поскольку это не путь к исполняемому файлу.
Однако вы можете передать аргументы исполняемому файлу. Вы просто добавляете их в конец вызова консоли. А оболочки - включая tcsh, который вы, похоже, используете, и bash - позволяют вам указать одну команду для выполнения с помощью параметра командной строки -c
. Так что вы можете сделать это:
konsole -e /bin/tcsh -c 'source /$MYTOOLS/env.csh && gedit && aliasApp'
(Мне непонятно, почему вы хотите запустить эмулятор терминала, чтобы запустить gedit
, основанный на GUI. Но, возможно, это был просто пример.)
Имейте в виду, что оболочка завершит работу, как только завершится указанная строка командной строки, и konsole завершит работу, когда завершится указанный исполняемый файл. Так что это не приведет к тому, что вы получите оболочку после выполнения этих команд.
Если вы хотите создать оболочку с определенным набором процедур инициализации, вам нужно использовать специальный механизм оболочки для запуска сценария инициализации. Например, для bash вы можете использовать параметр командной строки --rcfile
чтобы указать собственный скрипт запуска; к сожалению, эта опция не понятна tcsh, поэтому вам нужно будет сделать что-то еще (например, передать имя файла в переменную окружения и получить исходный файл сценария обычного запуска, если переменная окружения установлена).