0
パスを永久に別のパスに変更するためのシェルスクリプトがあります。私の要件は、perlスクリプトを使用して、それをソースすることである(perlのスクリプトは、同様に他のいくつかのコードを持っており、最終的には、以下のシェルザ・スクリプトを調達しなければならない)perlスクリプトからシェルスクリプトを入手する
test.sh:
!/bin/bash
cd /db/oa/invoke/path
test.pl:
!/usr/bin/perl
system("source /home/test.sh");
しかし、調達は機能していません。私はsystem("sh /home/test.sh --help")
のperlスクリプトからシェルスクリプトを実行するコマンドを知っています。しかし、私はシェルスクリプトのソースに似たコマンドが必要です。詳細が不明な場合はお知らせください。私はすでに同じトピックで質問されている質問を見てきましたが、私は調達のための適切な解決策を見ていませんでした。誰もが私にこれを助けることができます。
よろしくお願いします。Anand
が含まれているあなたが求めているものを行うにはまともな方法はありません。サブプロセスは親の環境に影響を与えません。あなたは基本的にPerlの 'exec' Bashを持っていなければなりません。そして、' exec' Perlをこれを取り戻すために戻してください。 – tripleee
また、シバンは2つの文字 '#! 'で始める必要があります。これは構文的に有効で実際に役立つためです。 – tripleee
あなたの例のようにシェルスクリプトを使っている場合は、ディレクトリを変更するだけで、perlの 'chdir'関数を使ってディレクトリを変更することができます。あなたはまだ上に上がっているすべての問題を持っています。 – mttrb