O comando cp -f * /var/www/
copia arquivos que correspondem a *
no diretório atual do chamador, ou seja, seu diretório atual. É irrelevante onde o script está localizado.
Estou usando o Kali linux que é baseado no Debian e escrevi um script para copiar alguns arquivos de onde o script é baseado para um diretório especificado. Mas quando executo meu script (chamado CopyFiles.sh
), o comando cp
funciona no diretório root
, não no diretório atual. Aqui está o meu script:
#!/bin/bash
cp -f * /var/www/
Também tentei ./*
mas o mesmo erro, mas se eu mudar de diretório para meus scripts ( cd
comando) funciona bem. Eu posso usar o seguinte script sem problema, mas eu não quero usar nenhum comando adicional e quero saber porque meu script não funciona:
#!/bin/bash
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
cp -f "$SCRIPT_DIR/"* /var/www/
O comando cp -f * /var/www/
copia arquivos que correspondem a *
no diretório atual do chamador, ou seja, seu diretório atual. É irrelevante onde o script está localizado.