echo๋ฅผ c์ธ์ด๋ก ๊ตฌํํด๋ณด๊ณ ์ ํจ !
mimi@mimi:~/Mimi/lang/c$ echo aaa bbb ccc
aaa bbb ccc
๋ช ๋ น๊ณผ ํจ๊ป ์ ๋ ฅ๋ฐ์ ์ธ์๋ค์ ๊ทธ๋๋ก ์ถ๋ ฅํด์ฃผ๊ธฐ !
์ ๋ ฅ๋ฐ์ ์ธ์์ ๊ธธ์ด๋ ์ด๋ป๊ฒ ์์ง ? int argc
์ ๋ ฅ๋ฐ์ ์ธ์์ ๋ด์ฉ์ ์ด๋ป๊ฒ ์์ง ? char* argv[] (๋๋ char** argv)
๊ทธ๋ผ ์ด๊ฑธ ์ด๋ป๊ฒ ์ฐ์ง ?
main ํจ์์์ int argc์ char* argv[] ๋ฅผ ์ธ์๋ก ๋ฐ๋๋ก ์์ฑํ๊ธฐ !
#include <stdio.h>
int main(int argc, char* argv[]) {
// ์ฝ๋์์ฑ
return 0;
}
argc๋ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ํฐ๋ฏธ๋์์ ๋ช ๋ น์ผ๋ก ์ ๋ ฅ๋ ๊ฐ์๋ฅผ ์ธ์ด์ฃผ๊ณ
argv๋ ์ ๋ ฅ๋ ๋ด์ฉ์ ๋ฌธ์์ด๋ก ์ ์ฅํด์ ๊ฐ์ง๊ฒ ๋จ !
argc๋ ๊ฐ์๋ฅผ ์ธ์ด์ฃผ๋ ์ซ์๋๊น int,
argv๋ ๋ฌธ์์ด์ ์ ์ฅํด์ฃผ๋๊น ๋ฌธ์์ด ์ด์คํฌ์ธํฐ char* [] (๋๋ char**) ์ฌ์ฉ !
์ฐธ๊ณ ๋ก, ํฐ๋ฏธ๋์์ ์ ๋ ฅ๋๋๊ฑธ ๋ฐ์์ฃผ๋๊ฑฐ๋ผ ํ์ผ๋ช ๋ถํฐ ๋ฐ์์ค๋ค.
๋ฐ๋ผ์, argv[0] ์๋ ํ์ผ๋ช ์ด ๋ค์ด๊ฐ !
mimi@mimi:~/Mimi/lang/c$ ./echo hello world !
argc : 4
argv : hello world !
argv[0] : ./echo
argv[1] : hello
argv[2] : world
argv[3] : !
์ ๋ด์ฉ์ ๋ง๋ ํ์ผ !
์ปดํ์ผ์ ์ด๋ ๊ฒ gcc echo.c -o echo ํ์
#include <stdio.h>
int main(int argc, char** argv) {
int i = 0;
printf("argc : %d \n", argc);
printf("argv : ");
for (i=1; i<argc; i++) {
printf("%s ", argv[i]);
}
printf("\n");
for (i=0; i<argc; i++) {
printf("argv[%d] : %s \n", i, argv[i]);
}
return 0;
}โ
๊ทธ๋์ ๋๋ echo.c๋ฅผ ์๋์ ๊ฐ์ด ๋ง๋ค์์ !
#include <stdio.h>
int main(int argc, char* argv[]) {
int i = 0;
for (i=1; i<argc; i++) {
printf("%s ", argv[i]);
}
printf("\n");
return 0;
}
์ปดํ์ผ ํ ์คํํ๋ฉด ์๋์ ๊ฐ์ด...
mimi@mimi:~/Mimi/lang/c$ ./echo aaa bbb ccc
aaa bbb ccc
mimi@mimi:~/Mimi/lang/c$
echo ๋ช
๋ น์ด๋
".." ๋ฅผ ์ฌ์ฉํ๋ฉด ํ๊ฒฝ๋ณ์ ๊ฐ์ ์ถ๋ ฅํด์ฃผ๊ณ
'..' ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด ๊ทธ๋๋ก๋ฅผ ์ถ๋ ฅํด์ค
๋ฐ๋ผ์ ๋ค์๋ฒ์ ' " ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ฃผ๋๋ก ๊ตฌํํด๋ณด๊ณ ์ ํจ
์ ๋ด์ฉ์ ์์์ ์ฒ๋ฆฌํด์ฃผ๋๋ด ! ๊ทธ๋ฅ ๋ด๊ฐ ๋ง๋ ๊ฑธ๋ก๋ ๋๋น
mimi@mimi:~/Mimi/lang/c$ ./echo "Hello ${HOME}"
Hello /home/mimi
mimi@mimi:~/Mimi/lang/c$ ./echo 'Hello ${HOME}'
Hello ${HOME}
๋ค์๋ฒ์ ls ๋ง๋ค๊ธฐ ๋์
'์ฒ์ฒํ, ๊พธ์คํ.. > C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C : touch] C์ธ์ด๋ก touch ๊ตฌํ (0) | 2023.12.18 |
---|---|
[C : ls] C๋ก ls ๊ตฌํ ์, -a ์ต์ ์ฒ๋ฆฌ #getopt (0) | 2023.12.18 |
[C : ls] ls ์ต์ ์ธ์์ฒ๋ฆฌ #getopts (0) | 2023.12.17 |
[C : ls] C์ธ์ด๋ก ls ๊ตฌํํ๊ธฐ #dirent (0) | 2023.12.16 |
[C : ctags] ctags ์ค์น #universal-ctags (0) | 2023.12.16 |
๋๊ธ