Регистрировать последние N строк с помощью irssi в реальном времени [дубликат]

подстановка команд в (t) csh (которую вы, кажется, используете) раскрывается в двойных кавычках, как в оболочках типа Bourne.

Итак, в:

alias search "find `pwd` -name "

Вы фактически делаете что-то вроде:

alias search 'find /some/dir -name '

Где / some / dir был текущим каталогом на момент выполнения команды alias .

Здесь вы хотите:

alias search 'find $cwd:q -name'

$ cwd автоматически устанавливается tcsh (как и $ PWD в современных версиях, например, в оболочках POSIX), поэтому вы можно использовать его вместо менее эффективного и менее надежного `pwd` .

Мы используем одинарные (строгие) кавычки, чтобы не раскрывать $ cwd внутри.

$ cwd: q - передать значение переменной как один аргумент, а не позволить ему подвергнуться разделению.

Также обратите внимание, что вам не нужен пробел после -name выше.

Если вы хотите использовать pwd (например, чтобы получить канонический (без символических ссылок) путь к текущему рабочему каталогу, как в некоторых реализациях pwd , таких как GNU) когда POSIXLY_CORRECT не находится в среде), вы должны использовать:

alias search 'find "`pwd`" -name'

Хотя это не сработает, если путь к текущему каталогу содержит символы новой строки.

Обратите внимание, что вы не можете использовать sudo search , поскольку псевдонимы раскрываются только в позиции команды в (t) csh. В оболочках POSIX вы можете:

alias sudo='sudo '

Сообщать оболочке, что слово, следующее за sudo , также должно подвергаться расширению псевдонима, но этот трюк не работает в (t) csh.

Эквивалент POSIX sh (или bash / zsh / ksh ...) будет иметь следующий вид:

alias search='find "$PWD" -name'
-121) --- 57925-

Из полного списка я бы просто добавил:

  • fakeroot (из debian package maintener): он нацелен на создание пакета с «дружественными» инструментами. Это не полная изоляция, но она помогает создавать пакеты с разными пользователями, поддельными устройствами и другими специальными псевдо-файлами.

  • fakechroot (который использует fakeroot). В этой программе много ошибок. Например, "/ etc / hosts" жестко запрограммирован в glibc: вы не можете изменить его с помощью этого инструмента.

  • qemu: вам нужно скомпилировать ядро ​​linux, но результат очень быстрый, и это «фальшивая» (т.е. виртуальная) машина с настоящими привилегиями root. Вы можете собрать и смонтировать любой загрузочный образ.

1
06.11.2014, 07:45
0 ответов

Теги

Похожие вопросы