Por que sim existe! Deixe-me apresentar o comando install
. install
é um aplicativo padrão do GNU que permite copiar arquivos e especificar certas coisas ao mesmo tempo. A sintaxe curta é install SOURCE DESTINATION
.
No entanto, "certas coisas" são importantes. Você pode especificar o modo de arquivo com -m xxx
(755 para gravável pelo proprietário e executável por qualquer pessoa). E o bash tem alguns truques para redirecionar novos arquivos e aqui-doc para aceitar dados longos. Aqui está um exemplo rápido:
install -b -m 755 /dev/stdin ~/testbin << EOF
#!/bin/sh
echo "Success!"
EOF
Agora você pode executar ~/testbin
e deve ser exibido.
Você pode combinar isso com sudo
para arquivos de propriedade da raiz ou, se quiser escrever como outra pessoa, poderá usar sudo e usar o sinalizador de install
do proprietário de -o
.
O -b
flag apenas cria um backup se você executar o comando uma segunda vez. Isso é útil se você estiver realizando tarefas potencialmente destrutivas.