debian
e suas derivadas (e provavelmente a maioria das outras distribuições) vêm com busybox
que é usado no initramfs
.
busybox
agrupa a maioria dos utilitários da linha de comando principal em um único executável.
Você pode temporariamente ligar simbolicamente /bin/rm
a /bin/busybox
:
ln -s busybox /bin/rm
Para obter um rm
em funcionamento (após o qual você pode fazer o seu apt-get install --reinstall coreutils
).
Esse mesmo método pode ser usado para todos os outros utilitários que busybox
inclui. Essa lista varia de uma implantação para outra. Você pode obter a lista com busybox --list
.
Observe, entretanto, que elas são versões limitadas dos utilitários correspondentes. Eles às vezes suportam extensões GNU, mas geralmente não, e alguns deles nem mesmo suportam todos os recursos padrão / POSIX (alguns recursos podem ser habilitados / desabilitados em tempo de compilação).
Como alternativa, você pode usar o% r dozsh
:
#! /bin/zsh
zmodload zsh/files
rm "$@"
O módulo zsh/files
fornece alguns comandos internos adicionais ( rm
, mv
, ln
, mkdir
, rmdir
, chown
, chmod
, sync
). É útil nesse tipo de situação ou quando você não pode desembolsar mais processos, mas tem um zsh
em execução interativa.
ksh93
também tem um número de comandos extra / opcional buitin, mas não rm
entre eles ( basename
, chmod
, dirname
, getconf
, head
, mkdir
, logname
, cat
, cmp
, cut
, uname
, wc
, sync
). Você pode invocá-los com:
command /opt/ast/bin/the-command
em um script ksh93
.