shell中常用功能與C語言的對比

2021-06-25 10:37:03 字數 2867 閱讀 1711

要實現的功能

c語言程式設計

linux shell指令碼程式設計

程式/指令碼的引數傳遞

int main(int argc, char** argv)

printf(「arg1:%s\n」,argv[1]);

printf(「arg2:%s\n」,argv[2]);

printf(「arg3:%s\n」,argv[3]);

return 0; }

#!/bin/sh

if [ $# -lt 3 ]; then

echo "usage: `basename $0` arg1 arg2 arg3" >&2

exit 1

fi echo "arg1: $1"

echo "arg2: $2"

echo "arg3: $3"

exit 0

int main(int argc, char** argv)

return 0; }

#!/bin/sh

while [ $# -ne 0 ]

do echo "arg: $1"

shift

done

邏輯/數值運算

if (d == 0)

if [ "$d" -eq "0" ] ; then

if (d != 0)

if [ "$d" -ne "0" ] ; then

if (d > 0)

if [ "$d" -gt "0" ] ; then

if (d < 0)

if [ "$d" -lt "0" ] ; then

if (d <= 0)

if [ "$d" -le "0" ] ; then

if (d >= 0)

if [ "$d" -ge "0" ] ; then

字串比較

if (strcmp(str,」abc」)==0)

if [ "$str" != "abc" ]; then

fi 輸入和輸出

scanf(「%d」,&d);

read d

printf( 「%d」, d);

echo –n $d

printf( 「%d」,d);

echo $d

printf( 「press any to continue...」);

char ch=getchar();

printf( 「\nyou pressed: %c\n」, ch );

#!/bin/sh

getchar()

echo -n "press any key to continue..."

ch=`getchar`

echo ""

echo "you pressed: $ch"

read d <&3

程式/指令碼的控制流程

if (isok) else if (isok2) else

if [ isok ]; then

#1 elif [ isok2 ]; then

#2 else

#3 fi

switch (d) ;

case $d in

1) echo "you select 1"

;; 2|3) echo "you select 2 or 3"

;; *) echo "error"

;; esac

for (int loop=1; loop<=5;loop++)

for loop in 1 2 3 4 5

do echo $loop

done

do while( !isroot );

is_root=`who | grep root`

until [ "$is_root" ]

do sleep 5

done

counter=0;

while( counter < 5 )

counter=0

while [ $counter -lt 5 ]

do echo $counter

counter=`expr $counter + 1`

done

while (1)

while :

do done

break;

break或break n,n表示跳出n級迴圈

continue;

continue

函式與過程的定義

void hello() …

//函式呼叫

hello();

hello()

或者function hello() …

#函式呼叫

hello

函式的引數和返回值

int ret = doit();

if (ret == 0)

doit

if [ 「$?」 –eq 0 ] ; then

echo 「ok」

fi 或者

ret = doit

if [ 「$ret」 –eq 「0」 ] ; then

echo 「ok」

fi int sum(int a,int b)

int s = sum(1,2);

printf(「the sum is: %d\n」, s);

sum()

s=`sum 1 2`

echo "the sum is: $s"

bool isok()

if (isok) else

isok()

if isok ; then

echo "yes"

else

echo "no"

fi

Linux常用功能 與Windows檔案互傳

1.linux和windows共用剪下板 sudo apt get update sudo apt get autoremove open vm tools sudo apt get install open vm tools desktop 2.linux和windows檔案互傳 共享檔案 在wi...

對 c 中常用功能進行封裝

原始碼路徑 1 字元編碼 2 類似 golang 中的 channel 的 模擬實現 3 配置檔案讀寫 4 基於 libcurl 的 http 客戶端 支援 https 5 資料庫連線池 6 excel 檔案的處理 7 基於 libevent 的 http 多執行緒 服務端的封裝 支援 https ...

C 語言unity常用功能總結(一)

遊戲物體的顯示和隱藏 gameobject.setactive true 實現鍵盤按鍵功能 if input.getkey keycode.mouse0 當鍵盤的0鍵按下的時候 在update中只執行一次的方法 update中是每一幀都在執行,想要在這個方法裡讓函式執行一次,我的思路是新增乙個變數,...