teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

typo

2021/07/23 07:32

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  ```
6
6
  args[0] = 'bash';
7
7
  args[1] = '-c';
8
- args[2] = 'help;
8
+ args[2] = 'help';
9
9
  args[3] = NULL;
10
10
  ```
11
11
  として実行することになるでしょう。

3

コードを修正

2021/07/23 07:32

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -6,5 +6,6 @@
6
6
  args[0] = 'bash';
7
7
  args[1] = '-c';
8
8
  args[2] = 'help;
9
+ args[3] = NULL;
9
10
  ```
10
11
  として実行することになるでしょう。

2

些細な修正

2021/07/23 07:31

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  `execvp`はシェルをロードするわけではありません。実行可能ファイルをロードして実行します。
2
2
  実行可能ファイルは、たとえば`ls`などです。
3
3
  `help`はシェルの組み込みコマンドであって、実行可能ファイルとして存在しているものではありませんから`execvp`で直接は実行できません。
4
- たとえば`bash`の`help`コマンドを`execvp`コマンドで実行するとしたら
4
+ たとえば`bash`の`help`コマンドを`execvp`で実行するとしたら
5
5
  ```
6
6
  args[0] = 'bash';
7
7
  args[1] = '-c';

1

typo

2021/07/23 07:29

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  たとえば`bash`の`help`コマンドを`execvp`コマンドで実行するとしたら
5
5
  ```
6
6
  args[0] = 'bash';
7
- args[1] = '-c;
7
+ args[1] = '-c';
8
8
  args[2] = 'help;
9
9
  ```
10
10
  として実行することになるでしょう。