Системная навигация (и административные задачи) - это действительно другое приложение, нежели программирование, и трудно найти единую оболочку, которая хорошо справляется с обеими задачами. Тем не менее, я предполагаю, что вы действительно запрашиваете оболочку, которая
- Позволяет легко загружать содержимое файла и манипулировать этим содержимым в процессе работы и с большей ловкостью, чем при использовании bash и стандартных утилит unix.
- Кроме того, вам нужно удобство доступа к некоторым обычным командам для перемещения файлов и навигации по файловой системе.
Хорошая новость заключается в том, что стандартные языки сценариев (например, Ruby, Perl) должны были делать # 1 действительно хорошо, и нетрудно написать / найти библиотеку для выполнения # 2 любого из этих языков.
Поскольку Ruby - это то, с чем я знаком, я дам вам более конкретный пример того, как вы могли бы сделать это с помощью Ruby.
Чтобы сделать это в Ruby, вы должны использовать irb (Ruby REPL) и модуль FileUtils
, который является частью стандартной библиотеки Ruby.
Для этого запустите irb
, затем выполните
require 'fileutils'
include FileUtils
(вы можете поместить это в .irbrc
, если хотите, но я не уверен, что рекомендую это.)
это позволяет вам иметь доступ к ряду обычных команд управления файлами через простой синтаксис Ruby. Вы можете самостоятельно запускать другие команды Ruby. Для запуска других команд в вашей системе вам нужно будет вызывать их с помощью system
.
FileUtils не включает команду ls
, потому что она не предназначена для интерактивного использования, поэтому вам нужно написать свою собственную. Я вообще не знаю, как получить хороший контроль над работой (это не значит, что ты не мог что-то написать).
Единственное, что я предупреждаю вас, это то, что этот рабочий процесс будет очень отличаться от других пользователей UNIX, так что вы можете подумать о том, стоит ли быть таким нонконформистом, или стоит ли строить опыт, который хорошо сочетается со стилем работы других администраторов UNIX. Вероятно, лучше привыкнуть к основным утилитам UNIX и языку сценариев оболочки Bourne. (Вы можете изучить C-Shell, если хотите, но есть хорошо известный FAQ, объясняющий недостатки C-shell для программирования .)