特定の拡張子で終わるすべてのファイルをシェルglobと一致させます(たとえば、.shで終わるすべてのファイル)。

特定の拡張子で終わるすべてのファイルをシェルglobと一致させます(たとえば、.shで終わるすべてのファイル)。

特定の拡張子で終わるすべてのファイルをシェルグローブと一致させたいです。

.shこの場合、最初の行に "shebang"(like)を入れてから、Bashシェルを使用して実行するbourneファイルである拡張子で終わるすべてのファイルを見つけたいと思います。#!/bin/bash

たとえば、以下は私のcronコマンドです。

0 0 * * * "$HOME"/public_html/cron_daily/myfile.sh 2>/dev/null

.sh代わりに、拡張子で終わるディレクトリ内のすべてのファイルにmyfile.shをターゲットにする必要があります。

以下のコードは正しいですか?

0 0 * * * "$HOME"/public_html/cron_daily/*$.sh 2>/dev/null

修正する

私はこれがglobを使用するとうまくいくと思います。

*.{sh}

ベストアンサー1

*.shすべてのファイルを一致させるには、拡張子を使用してください.sh。 (必要に応じてパスを追加します。)

しかし、これはあなたが望む結果を生み出しません。run-parts以下で実行されるいくつかのスクリプトを見るcron

0 0 * * * /usr/bin/run-parts "$HOME"/public_html/cron_daily/ 2>/dev/null

.../public_html/cron_daily(これを行うと、ファイルだけでなくその中のすべての実行可能ファイルが実行されます。.shところで、cronスクリプトを下に保存するのは良い考えですかpublic_html?そのディレクトリはWebサーバーから提供されますか?)

おすすめ記事