
例:
メインスクリプト.sh
cd /mnt/something
./buildscripts/000-script.sh
000-script.sh
cd /mnt/otherthing
mkdir something
exit
答え1
はい、実行プロセスは次のとおりです。いいえ親プロセスの作業ディレクトリを変更します。
例:
caller.sh
#!/bin/bash echo -n "Caller 1 " ; pwd ./callee.sh echo -n "Caller 2 " ; pwd
受信者.sh
#!/bin/bash echo -n "Callee 1 " ; pwd cd /tmp echo -n "Callee 2 " ; pwd exit
呼び出しがcaller.sh
生成されます
Caller 1 /Users/corti/tmp
Callee 1 /Users/corti/tmp
Callee 2 /tmp
Caller 2 /Users/corti/tmp
印刷時に見られるように、親プロセスCaller 2
にはまだ同じ作業ディレクトリがあります。
答え2
「子供」は何も覚えていません。これは、現在の作業ディレクトリ(cwd)から始まるプロセスの基本概念です。 Linuxシステムで/ proc / *を見ると、プロセスごとにこのエントリを見ることができます。