Linux入門(十八)read函數

read 讀取控制臺輸入
基本語法
read 選項 參數
選項
-p 指定讀取值時的提示符
-t 指定讀取值時等待的時間(秒),如果沒有在指定的時間內輸入,就不再等待了
參數
變量:指定讀取值的變量名

實例:
1、讀取控制臺輸入一個num值
2、讀取控制臺輸入一個num值,在10秒內輸入

vi test_read.sh
#!/bin/bash
#讀取控制臺輸入一個num值
read -p "請輸入一個num1=" num1
echo "輸入的num1=$num1"
#讀取控制臺輸入一個num值,在10秒內輸入read -t 10 -p "請輸入一個num2=" num2echo "輸入的num2=$num2"

函數:系統函數和自定義函數
basename
功能:返回完整路徑最后/的部分,常用于獲取文件名
語法
basename [pathname] [suffix]
suffix 為后綴 ,如果suffix被指定了,basename會將pathname或string中的suffi去掉
dirname
功能:返回完整路徑最后/前面的部分,常用于返回路徑部分

實例
1、請返回/root/test_shell_code/test_read.sh 的test_read.sh部分

basename /root/test_shell_code/test_read.sh
basename /root/test_shell_code/test_read.sh .sh

在這里插入圖片描述

2、請返回/root/test_shell_code/test_read.sh 的/root/test_shell_codebuf

 dirname /root/test_shell_code/test_read.sh .sh

自定義函數
基本語法
[ function ] funname [()]
{
代碼
[reutrn int;]
}
調用 直接寫函數名:funame [值]

實例
1、計算輸入的兩個參數的和,getSum

 vi  test_fun.sh#!/bin/bash
function getSum(){SUM=$[$1+$2]echo "總和=$SUM"
}
read -p "請輸入一個數n1=" n1
read -p "請輸入一個數n2=" n2
getSum $n1 $n2

如果想要getSum 函數在別的sh文件里調用

 vi  test_fun.sh#!/bin/bash
function getSum(){SUM=$[$1+$2]echo "總和=$SUM"
}
vi test_fun2.sh
#!/bin/bash
#導入sh 文件
#source /root/test_shell_code/test_fun.sh
#或者使用簡寫
. /root/test_shell_code/test_fun.sh
read -p "請輸入一個數n1=" n1
read -p "請輸入一個數n2=" n2
getSum $n1 $n2

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909533.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909533.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909533.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python 文件操作詳解

文章目錄 Python 文件操作詳解一、文件操作的基本流程二、文件打開模式詳解1. 基本模式2. 擴展模式3. 模式組合示例 三、文件操作方法大全1. 打開和關閉文件2. 讀取文件內容3. 寫入文件內容4. 文件指針操作 四、文件編碼處理五、二進制文件操作六、常見文件操作場景1. 文件內容…

用AI配合MCP快速生成n8n工作流

在數字化時代的浪潮中,AI技術正以前所未有的速度改變著我們的生活和工作方式。從智能家居到智能辦公,從數據分析到自動化流程,AI的應用場景無處不在。今天,我們將帶你走進一個充滿創新與效率的世界,探索如何通過AI大眼…

ArkUI-X框架LogInterface使用指南

ArkUI-X框架支持日志攔截能力,Android側提供原生接口,用于注入LogInterface接口,框架日志及ts日志通過該接口輸出,本文的核心內容是介紹如何在Android平臺上有效利用ArkUI-X框架的LogInterface攔截日志。 Android平臺創建ArkUI-X…

函數重載與函數模板

函數重載與函數模板 函數重載 函數組成 返回類型 函數名稱(參數列表){函數體}函數簽名:函數名稱(參數列表) C 允許定義同名函數,前提是它們具有不同的簽名。這被稱為函數重載 。 C 編譯器通過檢查調用中參數的數量、類型和順序來選擇要調用的適當函…

NLP學習路線圖(四十六):可解釋性

在自然語言處理(NLP)技術重塑人機交互、信息檢索甚至司法決策的今天,一個尖銳的問題愈發凸顯:當模型在文本分類中判定你的貸款申請被拒,或在簡歷篩選中將你排除,你是否有權追問一句——“為什么?” 一、黑箱迷霧:NLP模型的不透明困境 現代NLP的核心驅動力——深度神經…

uniapp的app項目,在華為pad上運行,頁面顯示異常

最開始為了好調試,運行成h5在瀏覽器調試的,調完以后,放到pad上。。。天塌了,所有頁面異常,感覺被放大了好多,而且頁面很亂。。。 查了很多資料,說把px改為rpx,好,全部改…

Linux中的連接符

Linux中的&&連接符 和其它語言類似,在Shell中,&&是一個邏輯運算符,表示邏輯AND,用于連接多個條件表達式 不同的是,在Linux系統中,&&不僅可以連接條件表達式,而且還能連…

裝飾模式Decorator Pattern

模式定義 動態地給對象增加額外的職責 對象結構型模式 模式結構 Component:抽象構件 ConcreteComponent: 具體構件 Decorator:抽象裝飾類 ConcreteDecorator: 具體裝飾類 抽象裝飾類代碼 public class Decorator extends Compo…

https說明

http是無狀態的,https是在http應用層協議和tcp傳輸控制層之間加了一層,主要功能包括加密傳輸內容,校驗信息是否完整,信息是否被篡改等。http的網絡傳輸,源端應用層發送http請求,傳輸到源端的控制層&#xf…

實時操作系統(FreeRTOS、RT-Thread)RISC-V

FreeRTOS:FreeRTOS? - FreeRTOS? RT-Thread:rt-thread.org VxWorks: QNX Neutrino RTOS: RT-Linux: 一、 實時操作系統介紹 實時操作系統(Real Time Operating System,簡稱RTOS&#xff…

Python3除標準庫外更全面的XML解析方案

一、擴展解析庫方案 lxml高性能解析 from lxml import etree doc etree.parse(data.xml) # XPath 2.0增強查詢 nodes doc.xpath(//student[score>90]/name/text())優勢:支持XPath 2.0語法和XSLT轉換,比標準庫快5-10倍 BeautifulSoup混合解析 fr…

同時裝兩個MySQL, 我在MySQL5的基礎上, 安裝MySQL8

目錄 1. 前言 2. 下載MySQL 3. 安裝MySQL 3.1 第一步:選擇MySQL ?編輯 3.2 第二步:存儲地址 3.3 第三步 3.4 第四步:完成基礎配置 3.5 第五步 3.6 第六步:數據庫密碼 3.7 第七部:服務名 4. 環境變量 4.1 復制MySQL的bin地址 4.2 進入高級系統設置 4.3 PATH 4.4 更改…

Visual Studio 2022打包程序流程

Visual Studio 2022打包程序流程 打開管理拓展 安裝Microsoft Visual Studio Installer Projects 關閉軟件才能繼續安裝 安裝完成后點擊,解決方案,創建新項目 添加:setup project 打開軟件的路徑 復制路徑 添加文件 粘貼剛才復制的路徑&…

web3方法詳解

web3.py 是一個功能強大的 Python 庫,用于與以太坊區塊鏈交互。它提供了多種模塊和功能,涵蓋賬戶管理、智能合約交互、交易發送、區塊鏈數據查詢等。以下是 web3.py 的主要功能模塊及其用途: 1. Web3 核心模塊 功能:提供基礎連接、工具函數和核心功能。 常用方法: Web3(…

HTML5+JS實現一個簡單的SVG 貝塞爾曲線可視化設計器,通過幾個點移動位置,控制曲線的方向

三次貝塞爾曲線,二次貝塞爾曲線有什么區別 https://blog.csdn.net/xiaoyao961/article/details/148678265 SVG 貝塞爾曲線可視化設計器 下面是一個簡單的貝塞爾曲線可視化設計器,使用 HTML5 和 JavaScript 實現。這個設計器允許你通過拖動控制點來實時調整貝塞爾曲…

Pytorch框架——自動微分和反向傳播

一、自動微分概念 自動微分(Automatic Differentiation,AD)是一種利用計算機程序自動計算函數導數的技術,它是機器學習和優化算法中的核心工具(如神經網絡的梯度下降),通過反向傳播計算并更新梯…

【Linux手冊】進程的狀態:從創建到消亡的“生命百態”

目錄 前言 操作系統進程狀態 運行狀態 阻塞狀態 掛起狀態 Linux中具體的進程狀態 R(running)運行狀態 S(sleeping)阻塞狀態 D(disk sleep)磁盤休眠狀態 T(stopped)和t(tracing stop) X(dead)終止狀態 Z(zombie)僵尸狀態 僵尸進程的危害 前言 我們在運行可執行程序…

李沐--動手學深度學習 LSTM

1.從零開始實現LSTM #從零開始實現長短期記憶網絡 import torch from torch import nn from d2l import torch as d2l#加載時光機器數據集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps)#1.定義和初始化模型參數&#xff…

面經的疑難雜癥

1.介紹一下虛擬地址,虛擬地址是怎么映射到物理地址的? 虛擬地址是指在采用虛擬存儲管理的操作系統中,進程訪問內存時所使用的地址。每個進程都有獨立的虛擬地址空間,虛擬地址通過操作系統和硬件(如MMU,內存…

去噪擴散概率模型(DDPM)全解:從數學基礎到實現細節

一、 概述 在這篇博客文章中,我們將深入探討去噪擴散概率模型(也被稱為 DDPMs,擴散模型,基于得分的生成模型,或簡稱為自動編碼器),這可以說是AIGC最近幾年飛速發展的基石,如果你想做…