Самый простой способ - создать собственные сценарии «команд» вместо псевдонимов (или функций). Скрипты работают со всеми режимами оболочки и всеми оболочками, а также с такими вещами, как find xargs nohup nice
.
Если у вас должен быть псевдоним и, если вы используете pty, он должен работать для явного запуска ksh
в интерактивном режиме. Для (очень) простой команды, как вы показали, вы можете просто использовать "ksh -i -c abc"
в качестве команды и убедиться, что псевдоним находится в ~/.kshrc
. (ksh
позволяет nonlogin rc находиться в другом месте, используя envvar ENV, но передача envvars через ssh часто запрещена или ограничена в целях безопасности.) Однако, если вам нужна более сложная команда с аргументами, особенно если они (должны) содержать пробелы или специальный (ые) символ (ы), такие как кавычки, доллар, обратная кавычка или обратная косая черта, выяснение того, что использовать в качестве аргумента -c
, который приводит к ksh
выполнению правильной команды, может стать довольно трудным, особенно если вам также необходимо выразить это в Исходный код Java в виде строкового литерала (т.е. не из файла, базы данных, envvar и т. Д.).