Desejo combinar todos os arquivos que terminam com uma determinada extensão com um glob de shell.
Nesse caso, desejo direcionar todos os arquivos que terminam com a .sh
extensão, que são arquivos bourne que executo com o shell Bash depois de colocar um "shebang" (como #!/bin/bash
) em sua primeira linha.
Este é, por exemplo, um comando cron que tenho:
0 0 * * * "$HOME"/public_html/cron_daily/myfile.sh 2>/dev/null
Em vez de myfile.sh, preciso direcionar todos os arquivos nesse diretório, terminando com uma .sh
extensão.
O código a seguir está correto?
0 0 * * * "$HOME"/public_html/cron_daily/*$.sh 2>/dev/null
Atualizar
Eu acho que isso é bom ao usar um glob:
*.{sh}
Você usaria apenas
*.sh
para combinar todos os arquivos com uma.sh
extensão. (Adicionando o caminho conforme apropriado.)No entanto, isso não terá o resultado que você procura. Olhe
run-parts
para executar vários scripts decron
:(Isso executará todos os executáveis em
.../public_html/cron_daily
, não apenas em.sh
arquivos. A propósito, você tem certeza de que é uma boa ideia manter os scripts cron empublic_html
? Esse diretório está sendo servido pelo seu servidor web?)Você não pode fazer dessa maneira, pois eles serão combinados em uma linha de comando.