Linux實驗三:shell程序設計: shell基礎

實驗目的:

進一步鞏固shell程序設計語言基本語法,加深對所學知識理解。

實驗要求

1. 四種變量的使用

2. 配置環境變量

3. 元字符和正則表達式

4. 引號

1. 本地變量

$ var1="hello Linux" //定義本地變量var1

$ read var2????????? //定義本地變量vae2

$ echo $var1? $var2? //顯示本地變量的值

2. 環境變量

$ env //顯示系統的環境變量

$ echo $PATH? //顯示搜索路徑變量PATH

$ MYNAME="zhangs"? //定義本地變量MYNAME

$ export MYNAME //將本地變量MYNAME輸出為環境變量

下面觀察環境變量與本地變量作用范圍的區別

$ echo? $var1?? $MYNAME? //顯示本地變量和環境變量

$ bash //創建子進程bash

$ echo $var1? $MYNAME //顯示本地變量和環境變量

$ exit //退出子進程bash

$ echo $var1? $MYNAME

通過修改環境變量PS1可修改提示符

$ PS1=$?? //將提示符變為$

3. 位置變量

使用編輯器vi編輯下列shell腳本

#!/bin/bash

echo $0 $1 $2 $3

將上述兩行腳本保存為文件locat.sh

$ chmod +x locat.sh //增加執行權限

$ ./locat.sh? you me he

觀察顯示結果,理解位置變量的定義

4. 預定義變量

用編輯器vi編輯以下shell腳本

#!/bin/bash

echo? $#

echo? $*

將上述三行保存為文件predef.sh

$chmod +x predef.sh //增加執行權限

$ ./predef.sh Linux Unix Windows

觀察運行結果,理解預定義變量的含義

5. 配置環境變量

可通過用戶主目錄下的配置文件,改變系統的啟動參數,例如:可通過修改.bash_profile修改環境變量PATH,具體操作如下:

$ cd ~? //進入用戶的主目錄

$ vi .bash_profile //編輯配置文件

若文件中有下列行:

PATH= $PATH;$HOME/bin

則在PATH路徑中增加當前路徑,修改后外:

PATH= $PATH;$HOME/bin:.

$ exit //退出

用該用戶的賬號重新登錄系統

執行當前目錄下的locat.sh腳本無需制定當前路徑,例如:

$ locat.sh? myname is zhangs

///-------------------------------------------------------------------

logout退出當前用戶,烏班圖在當前用戶的主目錄下修改環境變量

似乎沒有bash_profile文件。

///-------------------------------------------------------------------

6.元字符與正則表達式

$ cd ~? //進入用戶主目錄

# ls -l? / >list? //以詳細方式列出根目錄下的所有文件信息,重定向至list文件

$ grep ^d? list???? // 查詢所有目錄

$ ls *.sh? //列出所有后綴名為.sh的shell腳本文件

6. 反引號、單引號和雙引號

$ abc="pwd"

$ echo '$abc'? //只顯示單引號內的字符串

$ echo "$abc"? //顯示變量的值

$ echo `"$abc"`? //"和`的綜合使用

$ echo "`pwd`"? //為"內的`作出解釋

$ echo *

$ echo "*"??? //屏蔽元字符的特定含義

注:雙引號的命令替換是:將雙引號內一對反引號中的命令替換為該命令運行的結果。

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

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

相關文章

Linux常用命令——blkid命令

在線Linux命令查詢工具 blkid 查看塊設備的文件系統類型、LABEL、UUID等信息 補充說明 在Linux下可以使用blkid命令對查詢設備上所采用文件系統類型進行查詢。blkid主要用來對系統的塊設備(包括交換分區)所使用的文件系統類型、LABEL、UUID等信息進行…

【linux】服務器CPU占用50%,top/htop/ps卻看不到異常進程?使用unhide可以查看!

問題描述 htop發現前32個核全被占滿了,但是卻找不到對應進程號 查殺 安裝unhide查看隱藏進程 apt-get install unhideunhide使用 unhide proc果然發現了隱藏進程 殺死隱藏進程 kill -9 [pid]這么多pid號,我這邊殺了其中一個,發現CPU…

華為 HUAWEI 網絡設備路由交換 基線安全加固操作

目錄 帳號管理 ELK-Huawei-01-01-01 登錄要求 ELK-Huawei-01-02-01 認證和授權 ELK-Huawei-01-03-01 日志配置 ELK-Huawei-02-01-01 通信協議 ELK-Huawei-03-01-01 設備其它安全要求 ELK-Huawei-04-01-01 帳號管理 ELK-Huawei-01-01-01 編號: ELK-Huawei-01-0…

本地websocket服務端暴露至公網訪問【cpolar內網穿透】

本地websocket服務端暴露至公網訪問【cpolar內網穿透】 文章目錄 本地websocket服務端暴露至公網訪問【cpolar內網穿透】1. Java 服務端demo環境2. 在pom文件引入第三包封裝的netty框架maven坐標3. 創建服務端,以接口模式調用,方便外部調用4. 啟動服務,出現以下信息表示啟動成功…

C++設計模式之工廠模式(中)——工廠模式

工廠模式 工廠模式介紹示例示例使用運行結果工廠模式與簡單工廠模式區別 工廠模式 工廠模式在簡單工廠模式的基礎之上進行了改進。當需要生產的產品種類增加,可以通過新增子類工廠來生產,沒有破壞程序設計原則中的開放封閉原則。 介紹 工廠模式先抽象…

1.2.1 C語言結構體初始化方法總結

文章目錄 結構體定義通用定義注冊事項結構體初始化方法一簡述示例方法二簡述示例方法三簡述示例方法四簡述示例方法五簡述示例結構體定義 通用定義 常用的結構體定義,有2種形式, 一種是關鍵字struct 結構體形式,如下

域控操作五:統一熄屏睡眠時間

直接看圖路徑,我只設置了熄屏,如果要睡眠就下面那個啟用設置時間

Pytorch中的Tensorboard常用API

SummaryWriter函數 這個函數用于創建一個tensorboard文件,其中常用參數有 log_dir:tensorboard文件的存放路徑。不設置log_dir默認會在當前程序所在的文件夾下創建個runs文件夾存儲flush_secs:表示寫入tensorboard文件的時間間隔comment&…

一文2000字使用JMeter進行接口測試教程!(建議收藏)

安裝 使用JMeter的前提需要安裝JDK,需要JDK1.7以上版本目前在用的是JMeter5.2版本,大家可自行下載解壓使用 運行 進入解壓路徑如E: \apache-jmeter-5.2\bin,雙擊jmeter.bat啟動運行 啟動后默認為英文版本,可通過Options – Cho…

IIC驅動OLED HAL庫+CubeMX

一.IIC傳輸數據的格式 1.寫操作 2.讀操作 3.IIC信號 二. IIC底層驅動 #define SCL_PIN GPIO_PIN_6 #define SDA_PIN GPIO_PIN_7#define SCL_PORT GPIOB #define SDA_PORT GPIOB/********************** 函數宏定義 **********************/ #d…

Navicat 技術指引 | 連接 GaussDB 主備版

Navicat Premium(16.2.8 Windows版或以上) 已支持對GaussDB 主備版的管理和開發功能。它不僅具備輕松、便捷的可視化數據查看和編輯功能,還提供強大的高階功能(如模型、結構同步、協同合作、數據遷移等),這…

LangChain(0.0.339)官方文檔一:快速入門

LangChain官網、LangChain官方文檔 、langchain Github、langchain API文檔、llm-universe 文章目錄 一、LangChain簡介(v0.0.338)1.1 整體框架1.2 主要組件1.2.1 Model I/O1.2.2 Retrieval1.2.2.1 RAG1.2.2.2 Retrieval 1.2.3 Chain 1.3 其它組件1.3.1 …

STM32筆記---RTC

目錄 一、RTC簡介 二、主要特性 三、功能描述 3.1 讀RTC寄存器 3.2 配置RTC寄存器 四、BKP簡介 五、RTC_Init() 1. 函數BKP_ReadBackupRegister 2.RCC_LSEConfig設置外部低速晶振(LSE) 3.RTC基本結構 5.RTC_Init()實現 6.time.h 一、R…

九州未來聯合聯通智網科技發布白皮書,促進車聯網融合發展

2023年11月21日,由2023中國5G工業互聯網大會組委會、工業和信息化部主辦,聯通智網科技承辦的2023中國5G工業互聯網大會——5G車聯網與智慧交通創新發展平行會議,在武漢成功舉辦。 九州未來作為中國聯通車聯網創新聯合體成員單位,受…

【Sql】sql server還原數據庫的時候,提示:因為數據庫正在使用,所以無法獲得對數據庫的獨占訪問權。

【問題描述】 sql server 還數據庫的時候,提示失敗。 點擊左下角進度位置,可以得到詳細信息: 因為數據庫正在使用,所以無法獲得對數據庫的獨占訪問權。 【解決方法】 針對數據庫先后執行下述語句,獲得獨占訪問權后&a…

【Leetcode合集】2824. 統計和小于目標的下標對數目

2824. 統計和小于目標的下標對數目 2824. 統計和小于目標的下標對數目 代碼倉庫地址: https://github.com/slience-me/Leetcode 個人博客 :https://slienceme.xyz 給你一個下標從 0 開始長度為 n 的整數數組 nums 和一個整數 target ,請你…

線性空間(也叫向量空間)、線性運算

線性空間、線性運算 線性空間,也稱向量空間。 假設是一個非空集合,是一個實數域。 在中定義了一個加法:即對中任何兩個元素和,總有中另外一個元素與它們相對應,稱為和的和,記作: 在定義了一個…

mac電腦系統活動監控:iStat Menus 中文 for Mac

iStat Menus是一款Mac操作系統上的系統監控工具,它提供了實時的系統狀態和性能數據,讓用戶可以方便地監控和管理自己的電腦。iStat Menus以菜單欄圖標的形式顯示各種系統指標,用戶可以輕松訪問和查看這些信息。 以下是iStat Menus軟件的一些…

debian 設置系統默認以命令行方式啟動,關閉x windows

debian 設置系統默認以命令行方式啟動,關閉x windows 2021-01-02 tech linux 設置 grub啟動設置在/etc/default/grub中,打開 default grub 配置: $ sudo vim /etc/default/grub修改以下配置: 更新grub,設置多用戶啟動: …

針對MySql知識的回顧

MySql雖然是一個相對簡單的關系型數據庫,但也是一個最常用的數據庫,也是一個非常經典的數據庫,很多云產品也是基于MySql做了二開,從而變得非常強大,其中MySql最常用的是Innodb引擎,因為該引擎支持事務&…