女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux開發_Shell腳本編程語言

DS小龍哥-嵌入式技術 ? 2022-09-17 15:39 ? 次閱讀

【摘要】 介紹Linux下Shell編程,介紹shell里語句、變量、函數、運算符的使用。

任務1:Shell腳本語言

Linux下常用的腳本語言。

變量、數組、for、while、函數、運算符、if、……..

[root@wbyq /]# ls /bin/sh -l

lrwxrwxrwx. 1 root root 4 12月 27 2016 /bin/sh -> bash

??變量定義使用

#!/bin/bash

ABC=12345

echo "ABC=$ABC"

echo "ABC=${ABC}"

??Shell腳本傳遞參數 類似于C語言的argv argc

#!/bin/bash

echo "cnt=$#"

echo "[0]=$0"

echo "[1]=$1"

echo "[2]=$2"

echo "[3]=$3"

??if語句語法規則

#!/bin/bash

a=10

b=20

if [ ${a} -eq ${b} ] #判斷兩個數是否相等,也可以使用 ==

then

echo "123"

else

echo "456"

fi

#!/bin/bash

if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]

then

echo "條件為真"

else

echo "條件為假"

fi

#一個[]表示一個完整的表達式

#-a表示與 -o表示或 只能用于單個表達式之內

#多個表達式之間可以使用&&和 || 嵌套連接

#!/bin/bash

#嵌套if語句示例

if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]

then

if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]

then

echo "條件為真"

else

echo "條件為假"

fi

else

if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]

then

echo "條件為真"

else

echo "條件為假"

fi

fi

??計算字符串長度

#!/bin/bash

string="abcd"

echo ${#string} #輸出 4

??數組語法

#!/bin/bash

buff=(1 2 3 4 5 6 7 8 9)

buff[0]=88

buff[1]=99

buff[100]=100

buff[88]=55

echo "buff[0]=${buff[0]}"

echo "buff[1]=${buff[1]}"

echo "buff[2]=${buff[2]}"

echo "buff[100]=${buff[100]}"

??echo用法示例

#!/bin/bash

DATA=12345

echo "DATA=${DATA}"

??printf語句格式

#!/bin/bash

printf "%d\n" 1234

printf "%s\n" "45678"

??從鍵盤上讀取數據

#!/bin/bash

echo -n "輸入數據:" #參數-n 的作用是不換行, echo 默認是換行

read data #從鍵盤輸入

echo "你輸入的數據為: $data" #顯示信息

??Case多分支選擇語句

#!/bin/bash

echo "輸入一個 1 到 4 之間的數字"

read aNum

case ${aNum} in

1) echo "你選擇 1"

;;

2) echo "你選擇 2"

;;

3) echo "你選擇 3"

;;

4) echo "你選擇 4"

;;

5) echo "你選擇 4"

;;

*) echo "你不選擇一個數字不在 1 到 4 之間"

;;

esac

??for循環

(1)基本用法

#!/bin/bash

for loop in 1 2 3 4 5 6 7 8 9

do

echo "loop=${loop}"

done

(2) 嵌套示例

#!/bin/bash

for loop in 1 2 3

do

for loop in 1 2 3

do

echo "loop=${loop}"

done

done

(3)輸出位置路徑

#!/bin/bash

for loop in /test/*.sh

do

echo "file_name=${loop}"

done

??break關鍵字

#!/bin/bash

for loop in 1 2 3

do

for loop in 1 2 3

do

echo "loop=${loop}"

break 2 #break后面可以加參數,選擇跳出的循環層次

done

done

??while循環示例

(1)示例1

#!/bin/bash

while : #無限循環條件

do

sleep 1 #休眠1秒鐘

echo "123"

break 1 #跳出指定層次的循環

done

(2)示例2

#!/bin/bash

COUNTER=0

while [ ${COUNTER} -lt 5 ]

do

COUNTER=`expr ${COUNTER} + 1`

echo "COUNTER=${COUNTER}"

done

COUNTER=0

while [ ${COUNTER} != 5 ]

do

COUNTER=`expr ${COUNTER} + 1`

echo "COUNTER=${COUNTER}"

done

(2)示例3

#!/bin/bash

while read DATA

do

echo "DATA=${DATA}"

done

(3)示例4

#!/bin/bash

while read DATA

do

echo "DATA=${DATA}"

continue #跳出當前這一次循環

echo "1234556"

done

??函數

(1)?基本示例

#!/bin/bash

#函數的編寫格式

func()

{

echo "函數調用調用成功!"

}

func #調用函數不需要加()

(2)?嵌套調用

#!/bin/bash

#函數的編寫格式

func1()

{

func2

}

func2()

{

echo "函數調用調用成功!"

}

func1 #調用函數不需要加()

(3)?函數的返回值

#!/bin/bash

#函數的編寫格式

func()

{

return 255 #最大范圍是255

}

func #調用函數不需要加

echo $?

(4)?函數的形參

#!/bin/bash

#函數的編寫格式

func()

{

echo "$1"

echo "$2"

echo "$3"

echo "$4"

return 255 #函數返回值只能是整數,最好不要返回路徑。

}

func 123 456 789 dfvbfdjvbgdf

echo $?

??調用外部腳本

#!/bin/bash

. 123.sh

source 123.sh

echo "a=${a}"

echo "b=${b}"

echo "c=${c}"

??Shell腳本練習

1.?從鍵盤上輸入年份,判斷平年閏年。

#!/bin/bash
echo -n "請輸入年份:"  # -n 不換行
read year   #從鍵盤上讀取年份

#能被400整除 ,能被4整除不能被100整除
if [ `expr $year % 400` == 0 ] || [ `expr $year % 4` == 0 -a `expr $year % 100` != 0 ]
then
	echo "$year是閏年"
else
	echo "$year是平年"
fi

2.?輸出9*9乘法口訣表。

3.?冒泡排序。

4.?使用函數封裝判斷平年閏年

5.?輸出所有水仙花數(個位+十位+百位的立方和=本身)例如: 1*1*1+2*2*2+3*3*3=123

6.?判斷100~200之間所有的素數

7. 寫一個腳本

(1). 切換工作目錄至指定目錄

(2). 依次向指定目錄中的每個文件或子目錄問好,形如:

(提示:for FILE in /var/*;或for FILE in `ls /var`;)

Hello,log

(3).統計/var目錄下共有多個文件,并顯示出來

8. 寫一個腳本, 通過ping命令測試192.168.x.0到192.168.x.254之間的所有主機是否在線

如果在線,就顯示“在線”

如果不在線,就顯示“離線”

注意:ping -c1 -w1 中-c1是指ping的次數,-w是指執行的最后期限,也就是執行的時間,單位為秒

9. 模擬linnux登錄shell

就是輸入用戶名密碼判斷是否正確。

10. 查找指定目錄下最大的文件,然后輸出

11. 將指定目錄下的所有指定后綴文件,按照統一的方式命名。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11462

    瀏覽量

    212801
  • 編程語言
    +關注

    關注

    10

    文章

    1955

    瀏覽量

    36105
  • Shell腳本
    +關注

    關注

    0

    文章

    36

    瀏覽量

    8180
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    樹莓派新手必看!在樹莓派上編寫和運行 Shell 腳本

    在本教程中,我將討論Shell腳本的基礎知識、它們的用途以及如何在RaspberryPi上編寫和運行Shell腳本。什么是Shell
    的頭像 發表于 03-25 09:28 ?295次閱讀
    樹莓派新手必看!在樹莓派上編寫和運行 <b class='flag-5'>Shell</b> <b class='flag-5'>腳本</b>!

    Linux從零到精通:最簡單的Shell腳本入門教程

    case語句 shell變量數組 shell腳本前言 |為什么學習shell編程 Shell
    的頭像 發表于 12-05 09:56 ?1381次閱讀
    <b class='flag-5'>Linux</b>從零到精通:最簡單的<b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門教程

    串口屏支持哪些編程語言開發環境?

    串口屏作為一種常用的顯示和交互設備,支持多種編程語言開發環境。以下是對串口屏支持的編程語言開發
    的頭像 發表于 11-13 11:45 ?645次閱讀
    串口屏支持哪些<b class='flag-5'>編程</b><b class='flag-5'>語言</b>和<b class='flag-5'>開發</b>環境?

    Linux系統中shell命令解析

    shellLinux系統的用戶界面,提供了用戶與內核交互的一種接口,它接收用戶輸入的命令并到送到內核去執行,因此也被稱為Linux的命令解釋器。
    的頭像 發表于 11-05 15:40 ?794次閱讀

    MCU編程語言開發環境介紹

    微控制器單元(Microcontroller Unit,簡稱MCU)是嵌入式系統的核心,廣泛應用于各種電子產品中。隨著技術的發展,MCU編程語言開發環境也在不斷進步,以適應不同的應用需求。 1.
    的頭像 發表于 11-01 11:51 ?2003次閱讀

    TCSH shell 編程入門

    ICer從業人員最先需要掌握的語言,就是linux shell語言。TCSH是ICer使用最多的Shell
    發表于 11-01 10:45 ?0次下載

    Linux應用編程的基本概念

    Linux應用編程涉及到在Linux環境下開發和運行應用程序的一系列概念。以下是一些涵蓋Linux應用
    的頭像 發表于 10-24 17:19 ?570次閱讀

    Linux計劃任務crontab運行腳本不正確的問題

    寫好的程序希望在崩潰之后能夠自啟動,于是利用linux的crontab功能,添加一個計劃任務,每分鐘執行一個腳本查看需要監控的進程是否還在,如果不在則啟動之,否則不做任何事情。這么一個簡單的腳本在crontab中運行和在
    的頭像 發表于 10-23 13:36 ?878次閱讀

    shell腳本執行的三種方式及區別

    Linux系統中,Shell腳本是一種非常實用的工具,用于自動化執行一系列命令。Shell腳本可以大大提高工作效率,簡化復雜的任務。在這篇
    的頭像 發表于 08-30 15:24 ?2058次閱讀

    執行shell腳本的方式包括什么

    執行Shell腳本的方式有很多種,以下是一些常見的方法: 直接運行腳本文件 在命令行中,可以直接使用腳本文件的路徑來運行腳本。例如: ./s
    的頭像 發表于 08-30 15:17 ?669次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之本地腳本的編寫和執行

    ,再次查看var變量的值,可以看到成功輸出235,該方式執行腳本后的變量,沒有釋放,所以我們經常使用source來配置shell環境變量,后邊講開發板交叉編譯工具設置時會使用到。
    發表于 08-29 10:51

    shell腳本編寫之本地腳本的編寫和執行

    的使用可以參考下一節)將變量值輸出進行查看,如下圖,可以看到沒有輸出var的值;然后再使用source或. 進行腳本執行,再次查看var變量的值,可以看到成功輸出235,該方式執行腳本后的變量,沒有釋放,所以我們經常使用source來配置
    發表于 08-28 09:36

    嵌入式學習-shell介紹

    輸出執行結果呈現給用戶;同時Shell也是一種解釋性的編程語言或者腳本語言開發容易可以在短時間內完成功能強大又好用的
    發表于 08-16 09:13

    shell基本介紹及常用命令之shell介紹

    輸出執行結果呈現給用戶;同時Shell也是一種解釋性的編程語言或者腳本語言開發容易可以在短時間內完成功能強大又好用的
    發表于 08-15 09:28

    語言RPA中有哪些優勢,可以提高開發效率?

    語言RPA提供了多種資源和工具來幫助用戶提高開發效率,以下是一些值得關注的點: 1、跨平臺兼容:火語言支持在Win, Mac, Linux上三端跨平臺運行,一個
    的頭像 發表于 08-07 13:40 ?628次閱讀