1

シェル スクリプトのサブルーチンを呼び出して、特定のパラメーターを渡すにはどうすればよいですか? 以下のようなもの?

#!/usr/bin/perl
### need something like this
source file.sh
routine;            # <-- this is supposed to be part of file.sh which is called 
                    # from perl script and some parameter are passed to it
4

2 に答える 2

0

この問題を回避する方法は、ルーチンの内容を file.sh から subfile.sh に分離することです。これを Perl で行うことができます。

@cmdargs=('subfile.sh', $arg1, "arg2");
system(@cmdargs);

最初のリスト要素はコマンドで、2 番目は引数として subfile.sh に渡される Perl 変数の値です。3 番目は、引数として subfile.sh に渡されるリテラルです。

subfile.sh と file.sh のルーチンのコンテンツのコピー間のメンテナンスの問題を回避するには、subfile.sh のラッパーを file.sh に記述し、他のシェル コマンドと同様に適切な引数を指定して呼び出すだけです。 file.sh で。

それはうまくいくと思います。

于 2013-10-29T13:36:57.830 に答える