Shell是不是一個程式指令集?
(翔哥, kao028kimo@gmail.com.tw, 2012-10-30 19:53)
1樓
大家好:
我在艾鍗的講義--Linux系統程式設計 的第八章 Shell Programming中 有看到關於Shell的論述
它說:
A shell is a program that acts as the interface between users and the Linux System, allowing one to enter commands for the operating system to execute.
讓我讀起來 覺得所謂的Shell 指的是一種程式指令集 就如同C語言有32個標準指令集 如此這般 請問這樣的認知正確否?
如果正確,那Shell的等級是否低於C---在C語言透過編譯程序之後 轉成 Shell語言 在經過直譯器 轉成組合語言 供給Kernal跟硬體去溝通?
(joseph, 2012-10-31 11:08)
2樓
Shell 是一隻程式, 用來提供一個操作環境, 讓使用者透過這個環境來操作這個系統.
echo "hello" > hello.txt --> I/O Redirect
cat /etc/passwd | grep -rn user ./ --> IPC技術
ls; ps; ls; --> 用分號讓多個程式分批執行
ls -l *.c --> Regular expression
能做到這些都是Shell 提供的操作環境, 你可以把這些指令存到檔案去執行,
類似DOS 批次檔, 而且可以讓你寫程式來執行 , 你可以寫for , while .
一次執行1000次add user 來建帳號
Shell 程式是直譯式的, 解讀一行跑一行