国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    88

    文章

    11760

    瀏覽量

    219040
  • 編程語言
    +關注

    關注

    10

    文章

    1964

    瀏覽量

    39574
  • Shell腳本
    +關注

    關注

    0

    文章

    36

    瀏覽量

    8500
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    零代碼軟件開發平臺ATECLOUD如何實現儀器程控軟件開發

    、MATLAB等主流編程語言,通過編寫腳本實現對電子測試儀器的精準控制。不可否認,這些傳統開發方式在短期內能夠滿足基礎的測試需求,但深入實踐后便會發現,其暗藏的諸多限制與隱患,正成為企
    的頭像 發表于 03-02 15:59 ?1539次閱讀
    零代碼軟件<b class='flag-5'>開發</b>平臺ATECLOUD如何實現儀器程控軟件<b class='flag-5'>開發</b>?

    智能顯示模塊支持腳本語言嗎?

    智能顯示模塊支持腳本語言嗎?
    發表于 02-26 11:18

    Linux Shell文本處理神器合集:15個工具+實戰例子,效率直接翻倍

    Linux 系統中,文本是數據交互的 “通用語言”—— 日志文件、配置文件、數據報表、程序輸出幾乎都以文本形式存在。手動編輯文本不僅繁瑣,還容易出錯,而掌握 Shell 文本處理工具,能讓你用幾行命令完成批量篩選、數據提取、
    的頭像 發表于 02-03 15:42 ?1516次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>Shell</b>文本處理神器合集:15個工具+實戰例子,效率直接翻倍

    DR1平臺Linux應用開發指南:含GDB調試、Python及MQTT實戰

    本文為創龍科技DR1 系列評估板 Linux 應用開發手冊,系統講解開發環境搭建、GDB 調試、多類型應用案例及 MQTT 通信實現。核心內容包括 LinuxSDK 與工具鏈配置、GDB 遠程調試
    的頭像 發表于 01-05 16:48 ?4577次閱讀
    DR1平臺<b class='flag-5'>Linux</b>應用<b class='flag-5'>開發</b>指南:含GDB調試、Python及MQTT實戰

    從小白到大牛:Linux嵌入式系統開發的完整指南

    基礎強化:嵌入式開發離不開Linux 系統操作,需熟練掌握命令行(文件操作、進程管理、權限配置)、Shell 腳本編寫、Makefile 基礎語法。建議通過 “每日一個
    發表于 12-16 10:42

    Linux驅動開發的必備知識

    內核基礎知識: 1、熟悉 Linux 內核的架構、模塊系統、進程管理、內存管理等。 了解內核的編譯和加載過程。 2、C編程技能: 精通 C 語言編程,包括指針操作、內存管理、結
    發表于 12-04 07:58

    Linux 編程語言盤點:從內核到AI的全棧選擇

    在工控圈和嵌入式圈里,有一個常年被討論的問題: ?“在 Linux 上,到底該用什么語言編程?” 有人堅信:C 才是真正的工業語言。有人反駁:Python 才是效率王者。還有人推崇 G
    的頭像 發表于 11-06 17:05 ?601次閱讀

    【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈項目-實現開機起動

    0接上文【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈項目 Linux 起動系統下 init 系統大多數
    發表于 11-03 17:25

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

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

    嵌入式開發新選擇:LuatOS腳本框架入門教程

    LuatOS正成為嵌入式開發的新趨勢!本教程帶你從基礎入手,全面了解其基于Lua的腳本開發模式與輕量級運行框架。 一、LuatOS 編程起步 1.1 底層固件怎么啟動 LuatOS
    的頭像 發表于 09-26 17:34 ?597次閱讀
    嵌入式<b class='flag-5'>開發</b>新選擇:LuatOS<b class='flag-5'>腳本</b>框架入門教程

    【HZ-T536開發板免費體驗】2 - 交叉編譯倉頡編程語言程序到開發板運行

    感謝電子發燒友和合眾恒躍提供的試用機會。 引言 上一篇介紹了開箱的結果,接下來測試一下華為倉頡編程語言開發板上運行的效果。最近對華為倉頡編程語言
    發表于 07-16 21:27

    Shell腳本入門指南

    Shell 是一塊包裹著系統核心的殼,處于操作系統的最外層,與用戶直接對話,把用戶的輸入, 解釋給操作系統,然后處理操作系統的輸出結果,輸出到屏幕給與用戶看到結果。
    的頭像 發表于 06-03 10:47 ?1205次閱讀
    <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門指南

    【米爾-RK3562開發板試用評測】命令行功能測試-shell腳本進行IO控制-(綠色)RUN 燈、(紅色)User燈

    在板上使用shell腳本語言簡單明了開發效率高便于調試修改動態性強資源利用靈活但實時性不足。 shell腳本
    發表于 05-09 18:19

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

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

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為
    的頭像 發表于 03-25 09:27 ?2039次閱讀
    零基礎入門:如何在樹莓派上編寫和運行Python程序?