
別のディレクトリにあるコマンドを、現在のディレクトリで実行したとコマンドが認識するようにするにはどうすればよいでしょうか?
コマンドが、呼び出し元を取得するためにbasename()
またはargv[0]
(またはそれが呼び出される任意のもの) を使用しており、そのディレクトリ内のファイルが必要な場合、アプリケーションを呼び出したディレクトリ、つまり間違ったディレクトリを検索する可能性があります。
もちろん、cd
最初にディレクトリに移動してそこから呼び出すこともできますが、cd
最初に を実行せずに、アプリケーションをそのディレクトリから実行したと認識させるように呼び出す方法はありますか?
可能であれば、 でこれを使用しますcrontab
。 でこれを使用することを考えるとcd
怖いです。
答え1
cd
crontab で使用するのがなぜ怖いのでしょうか?
一時的にディレクトリを変更して戻ってきたい場合は、次のようpushd
に使用できます。popd
答え2
次のようなスクリプトを作成できます。
#!/bin/sh
cd /dir/
yourcommand
次にそれをどこかに保存し、そのスクリプトをcrontabに追加します