Опция -exec
для find
требует чистых исполняемых файлов, в то время какalias
-es являются функцией оболочки, что означает, что они существуют только тогда, когда вы находитесь внутри оболочки.
Вы можете запустить любую команду в оболочке, запустив -exec
bash -c command
. Однако, чтобы псевдонимы принимались, оболочка должна запускаться в интерактивном режиме.
Вы можете обмануть интерактивность, выполнив bash -ic sha256
, но поскольку вы поместили свое определение псевдонима в .bash_profile
, вам также нужно будет обмануть его как «оболочку входа в систему», а также как интерактивную, потому что этот файл читаются так называемыми -«оболочками входа в систему». То есть вы должны выполнить bash -lic sha256
. Но это медленнее и немного загрязняет журнал сеансов.
Поэтому я бы посоветовал вам лучше поместить определение вашего псевдонима в .bashrc
файл (, просто создать его, если его еще нет ), чтобы вместо этого ваш псевдоним мог использоваться более простым bash -i
из bash -li
.
Это сделало бы всю вашу команду похожей на:
find./ -iname *.doc -exec bash -ic 'sha256 "$1"' -- {} \;
Если вам действительно необходимо сохранить определение псевдонима в .bash_profile
, сделайте свою команду как:
find./ -iname *.doc -exec bash -lic 'sha256 "$1"' -- {} \;
Если вы пропустите этот шаг, все, что произойдет, это то, что ваш Wi-Fi-адаптер не будет инициализирован. Если у вас есть проводное соединение, вы можете установить прошивку после установки.
См. также Как установить «не -бесплатную прошивку» (драйвер Wi-Fi )с USB?-тот же принцип, но другой драйвер