⑴ Linux 中的shell是什麼作用跟c語言有什麼關系

你就當 shell 命令是一個個的小的c程序,c調用shell就相當於是啟動一個外部進程
其實很多shell命令是C寫的,但是也有一些不是,不過這跟使用沒啥關系
C可以調用shell
但是shell是不能調用C代碼的,可以調用C編譯出來的可執行文件

⑵ shell是不是基於C語言的語言。

shell
script
屬於腳本語言
是按解釋執行的,由解釋器來執行命令

C
是要編譯成機回器碼的,直接答執行命令
由於解釋執行的緣故,腳本語言程序一般比編譯型語言的程序慢
但不是絕對的,如果編譯型語言的演算法寫得不好,效率也會很差的

⑶ shell腳本語言和c/c++語言

shell有很多變種,bash,ksh,dash.

還有csh,csh和c語言有很多相同之處,
下面是一篇csh的介紹,你可以看看,
http://www.cnblogs.com/tianfang/archive/2006/08/30/490241.html
不過作為linux系統的內腳本語言,用容的比較多的還是把shell和c結合起來一起編程的

⑷ linux的shell編程與用gcc實現c編程有什麼不同有什麼優點

shell編程屬於腳本編程,腳本文件就是指令的集合,GCC是GNU編譯系統驅動程序。

⑸ shell程序設計中if語句與c語言的是否一樣

if [ 1 -ge 2 ];then
.....
else
.....
fi
思路一樣,但是語法不一樣,比較也不一樣

⑹ shell變數與C語言變數之間在用法上有什麼區別

《UNIX 超級工具》一書 第八章
8.05 命令行的評價(evaluation)
下面是C shell 解釋命令行的順回序:
1. 歷史替換
2. 分裂詞(答包括特殊字元)
3. 更新歷史表
4. 解釋單引號(') 和 雙引號(")
5. 別名替換
6. 輸入和輸出的重定向(如 > < 和 |)
7. 變數替換
8. 命令替換
9. 文件名擴展
(Bourne shell 的解釋順序本質上是一樣的,除了它不執行歷史替換和別名替換之外)

⑺ 試比較Shell程序和C程序語法上的異同

簡單列舉來幾點吧:源
1)shell變數沒有固定類型,你可以給一個變數一會兒賦值為一個整數,一會兒賦值為一個字元串,都沒關系;c程序變數需要在定義時明確指定類型,不同類型間需要做類型轉換。
2)由於shell程序是逐行按次序解釋執行的,函數定義必須寫在函數調用的前面;而C程序不必,在文件開頭加上函數申明即可。
3)相同的地方也有。作為編程語言,都有邏輯控制結構,如if語句、switch語句、while循環語句等。都有退出狀態返回值。

總之,一個是腳本語言,一個是高級語言;一個是解釋執行,一個是編譯後執行。有天壤之別,沒法比。

⑻ linux下的C語言程序和shell腳本程序有什麼不同

shell腳本類似於dos下的批處理。
c語言是編程的。

⑼ shell兼容C語言嗎在shell下好像也可以用C語言編程,和直接用shell編程有什麼區別和聯系

你這是問的什麼問題!我估計你沒有搞明白他們的關系,shell是個腳本語言,也是應專用程序與內核進行屬交互的橋梁(一個讓開發者與內核交互的軟體)。

比如我們計算機的運行狀態等我們是無法肉眼來查看的,但是通過shell我們就能看到他的數據,其他一些應用程序,比如瀏覽器、音樂播放器等獲得內核所掌管的音頻、顯卡等驅動的幫助。

shell也是個腳本語言,我們可以將一系列的操作放入一個文件中,並給予這個文件可執行的許可權,我們就可以一下運行文件中的所有的指令,比如我們有一系列的操作經常使用,但是一個一個的打是在太麻煩了,我們可以將他寫到一個腳本中,只需一次運行所有的操作就完成了。

而C語言是另一種高級的計算機語言,他可以開發很多軟體,其實shell也是用c寫的

⑽ linux的shell編程與用gcc實現c編程有什麼不同,有什麼優點

shell 的東西叫做「腳本」抄。是一種解釋型語言,而且功能不如 C 的函數庫龐大功能全。
C 語言是高級開發語言,可以直接輸出為二進製程序進行運行。

完全是兩個方向的應用。總的來說,不具備可比性。但實際要看應用環境。相對來說,shell 的程序還是以簡單的功能為主。大型的應用程序還是 C 語言更合適。

我覺得你去看看 perl、python 後就能了解 shell 和 C 的區別了。perl 和 python 都是解釋型語言,可以當 shell 腳本使用,但他們也能開發大型的應用程序。
不過解釋型語言一個問題就是性能。