知識社群登入
位置: 艾鍗學院 Blog > 專業論壇 > 討論
Shell是不是一個程式指令集?
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跟硬體去溝通? 
 
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 程式是直譯式的, 解讀一行跑一行