подстановка команд в (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. Вы можете собрать и смонтировать любой загрузочный образ.