日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

Linux開發(fā)_Shell腳本編程語言

DS小龍哥-嵌入式技術(shù) ? 2022-09-17 15:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

任務(wù)1:Shell腳本語言

Linux下常用的腳本語言。

變量、數(shù)組、for、while、函數(shù)、運算符、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腳本傳遞參數(shù) 類似于C語言的argv argc

#!/bin/bash

echo "cnt=$#"

echo "[0]=$0"

echo "[1]=$1"

echo "[2]=$2"

echo "[3]=$3"

??if語句語法規(guī)則

#!/bin/bash

a=10

b=20

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

then

echo "123"

else

echo "456"

fi

#!/bin/bash

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

then

echo "條件為真"

else

echo "條件為假"

fi

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

#-a表示與 -o表示或 只能用于單個表達式之內(nèi)

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

#!/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

??數(shù)組語法

#!/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"

??從鍵盤上讀取數(shù)據(jù)

#!/bin/bash

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

read data #從鍵盤輸入

echo "你輸入的數(shù)據(jù)為: $data" #顯示信息

??Case多分支選擇語句

#!/bin/bash

echo "輸入一個 1 到 4 之間的數(shù)字"

read aNum

case ${aNum} in

1) echo "你選擇 1"

;;

2) echo "你選擇 2"

;;

3) echo "你選擇 3"

;;

4) echo "你選擇 4"

;;

5) echo "你選擇 4"

;;

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

;;

esac

??for循環(huán)

(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關(guān)鍵字

#!/bin/bash

for loop in 1 2 3

do

for loop in 1 2 3

do

echo "loop=${loop}"

break 2 #break后面可以加參數(shù),選擇跳出的循環(huán)層次

done

done

??while循環(huán)示例

(1)示例1

#!/bin/bash

while : #無限循環(huán)條件

do

sleep 1 #休眠1秒鐘

echo "123"

break 1 #跳出指定層次的循環(huán)

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 #跳出當前這一次循環(huán)

echo "1234556"

done

??函數(shù)

(1)?基本示例

#!/bin/bash

#函數(shù)的編寫格式

func()

{

echo "函數(shù)調(diào)用調(diào)用成功!"

}

func #調(diào)用函數(shù)不需要加()

(2)?嵌套調(diào)用

#!/bin/bash

#函數(shù)的編寫格式

func1()

{

func2

}

func2()

{

echo "函數(shù)調(diào)用調(diào)用成功!"

}

func1 #調(diào)用函數(shù)不需要加()

(3)?函數(shù)的返回值

#!/bin/bash

#函數(shù)的編寫格式

func()

{

return 255 #最大范圍是255

}

func #調(diào)用函數(shù)不需要加

echo $?

(4)?函數(shù)的形參

#!/bin/bash

#函數(shù)的編寫格式

func()

{

echo "$1"

echo "$2"

echo "$3"

echo "$4"

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

}

func 123 456 789 dfvbfdjvbgdf

echo $?

??調(diào)用外部腳本

#!/bin/bash

. 123.sh

source 123.sh

echo "a=${a}"

echo "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.?使用函數(shù)封裝判斷平年閏年

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

6.?判斷100~200之間所有的素數(shù)

7. 寫一個腳本

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

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

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

Hello,log

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

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

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

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

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

9. 模擬linnux登錄shell

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

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

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


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

    關(guān)注

    88

    文章

    11824

    瀏覽量

    219610
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1965

    瀏覽量

    39896
  • Shell腳本
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    零代碼軟件開發(fā)平臺ATECLOUD如何實現(xiàn)儀器程控軟件開發(fā)?

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

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

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

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

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

    DR1平臺Linux應(yīng)用開發(fā)指南:含GDB調(diào)試、Python及MQTT實戰(zhàn)

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

    從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南

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

    Linux驅(qū)動開發(fā)的必備知識

    內(nèi)核基礎(chǔ)知識: 1、熟悉 Linux 內(nèi)核的架構(gòu)、模塊系統(tǒng)、進程管理、內(nèi)存管理等。 了解內(nèi)核的編譯和加載過程。 2、C編程技能: 精通 C 語言編程,包括指針操作、內(nèi)存管理、結(jié)
    發(fā)表于 12-04 07:58

    Linux 編程語言盤點:從內(nèi)核到AI的全棧選擇

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

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

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

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

    執(zhí)行結(jié)果呈現(xiàn)給用戶;同時Shell也是一種解釋性的編程語言或者腳本語言,開發(fā)容易可以在短時間內(nèi)完成功能強大又好用的
    發(fā)表于 09-28 09:05

    LuatOS腳本開發(fā)入門:嵌入式運行框架全解析!

    想搞懂LuatOS如何運行Lua腳本?本文深入剖析其嵌入式運行框架,涵蓋虛擬機加載、任務(wù)協(xié)程、系統(tǒng)初始化等關(guān)鍵環(huán)節(jié),適合初學者。 一、LuatOS 編程起步 1.1 底層固件怎么啟動 LuatOS
    的頭像 發(fā)表于 09-26 17:45 ?652次閱讀
    LuatOS<b class='flag-5'>腳本</b><b class='flag-5'>開發(fā)</b>入門:嵌入式運行框架全解析!

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

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

    Linux 應(yīng)用開發(fā)手冊

    T507linux應(yīng)用開發(fā)手冊
    發(fā)表于 08-22 17:01 ?15次下載

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

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

    Shell腳本入門指南

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

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

    在板上使用shell腳本語言簡單明了開發(fā)效率高便于調(diào)試修改動態(tài)性強資源利用靈活但實時性不足。 shell腳本
    發(fā)表于 05-09 18:19
    大名县| 民乐县| 当阳市| 盐源县| 黄大仙区| 台中县| 遂平县| 灵武市| 甘孜县| 吉木乃县| 岫岩| 西宁市| 莎车县| 吉首市| 信阳市| 武平县| 遂川县| 林芝县| 吉安县| 海南省| 淳安县| 岗巴县| 定襄县| 阳东县| 庄浪县| 永寿县| 乌什县| 麻江县| 沐川县| 剑河县| 饶阳县| 景东| 龙南县| 石门县| 山阴县| 如东县| 华坪县| 改则县| 濮阳县| 武陟县| 刚察县|