回答編集履歴

2

問題は別だった。

2016/10/05 22:55

投稿

katsuko
katsuko

スコア3471

test CHANGED
@@ -17,3 +17,25 @@
17
17
  bashなんかでも、cdコマンドは内部コマンド、つまり新たにプロセスを作成せずにbashのプロセス内で処理しています。(多分)
18
18
 
19
19
  同じ事をするならば、os.chdirなどを使用して、別処理を行わなければなりません。
20
+
21
+
22
+
23
+ ---
24
+
25
+ よく考えてみたら、エラーは別の問題ですね。まぁ、ヒントにはなっていますが。
26
+
27
+ というわけで、もう一回回答を。
28
+
29
+
30
+
31
+ execvpは、実行ファイルを新たなプロセスとして実行する処理です。
32
+
33
+ それに対して、cdコマンドは上でも書いたとおりシェルの内部コマンドであり、実行ファイルはありません。
34
+
35
+ (「which cd」を実行してみてください。結果が出てきませんよね?)
36
+
37
+ なので、「FileNotFound」なのだと思います。
38
+
39
+
40
+
41
+ まぁ、最初に書いたことも重要な話なので、気をつけてください。

1

ちょっと修正

2016/10/05 22:55

投稿

katsuko
katsuko

スコア3471

test CHANGED
@@ -14,6 +14,6 @@
14
14
 
15
15
 
16
16
 
17
- bashなんかでも、cdコマンドは内部コマンド、つまり新たにプロセスを作成せずにbashのプロセス内で処理しています。
17
+ bashなんかでも、cdコマンドは内部コマンド、つまり新たにプロセスを作成せずにbashのプロセス内で処理しています。(多分)
18
18
 
19
19
  同じ事をするならば、os.chdirなどを使用して、別処理を行わなければなりません。