コマンドライン引数を使用して下付き文字を呼び出す/呼び出しするbashスクリプトがあります。発信者と同じPIDで下付き文字を強制的に実行するにはどうすればよいですか?
ベストアンサー1
または下付き文字を取得します。
禁煙健康増進協会
#!/bin/sh
echo one.sh: pid is "$$"
. ./two.sh
echo done with "$0"
(コマンドはのコマンドとまったく同じです.
が、移植性に優れています。)source
bash
.
2.sh
echo two.sh: pid is "$$"
実行例:
$ ./one.sh
one.sh: pid is 31290
two.sh: pid is 31290
done with ./one.sh
スクリプトはtwo.sh
同じシェル環境で実行され、one.sh
シェルはスクリプトを実行するための新しいプロセスを作成しません。これはシェル関数を呼び出すのと非常によく似ていますが、いくつかの方法で動作します(たとえば、以前から制御を返すのではなくreturn
使用exit
、シェルセッションを完全に終了します)。two.sh
one.sh
exit