Bash基本語法

1. 變量賦值

a=375
hello=$a
這里需要注意的是,等號兩邊不能有空格

還有一個例子是這樣的

例1:

這里寫圖片描述

結果為:

這里寫圖片描述

關于上述,主要有如下幾點:

$hello和${hello}是一樣的,在bash中如果遇到空格,tab鍵時,需要打印這些字符的話,可以用雙引號進行引用“ $hello”。

例2:

這里寫圖片描述

1.對于變量來說,賦值為空打印出來的$hello也為空

2.如果給變量賦值為一個不存在的值,取其內容也將為空

3.如果在變量中存在空白,那么就必須加上引號;也可以通過轉義空白的方式

4.unset是用來清除變量內容的

例3:

這里寫圖片描述

結果為:

這里寫圖片描述

當沒有用雙引號時,默認會刪除變量值中多余的空格符和換行符;

例4:

這里寫圖片描述

結果為:

這里寫圖片描述

1.讓變量的值自加,使用let

2.如果是替換,則使用${a/bb/23};將a中的bb替換成23

3.如果是空,則表示整數為0,所以加1后值就為1

關于位置參數:

  1. $0 : 代表腳本的名稱
  2. $1 : 傳遞給shell腳本的第一個參數
  3. $2 : 傳遞給shell腳本的第二個參數
  4. $# : 命令行位置參數的個數
  5. $* : 所有的位置參數列表
  6. @*一樣,都是列出所有的參數列表
  7. $! : 在后臺運行的最后的工作的PID
  8. $$ : 腳本自身的PID
  9. $? : 腳本本身的退出狀態,退出碼為0表示命令正確執行

例5:

這里寫圖片描述

結果為:

這里寫圖片描述

在這里(IFS=’ \ ‘),它會將\替換成空格;

其中IFS特點是:IFS的默認值為:空白(包括:空格,tab, 和新行);IFS對空格的空白的處理和其他字符不一樣,左右兩邊的純空白會被忽略,多個連續的空白被當成一個IFS處理;

還有就是轉義字符也需要注意。

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

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

相關文章

windows下 , py運用了 進程池, 將py打包成exe,出現錯誤的 解決思路之一

在windows上,用pycharm開發了一個小項目, 用到了from concurrent.futures import ProcessPoolExecutor 本來在pycharm里面,運行的好好地, 可是打包成exe的時候, 發現 當程序運行到 進程池執行任務的時候,會創建一個新的界面, 猜測應該是創建了一個新的進程, 百度后,發現在 程序…

關于fd和fp(fd:file descirptor fp:file pointor)

通常,我們在輸入數據或輸出數據的設備為鍵盤或者顯示器。當然,我們比較熟悉的輸入輸出,可能就是對于文件的操作,還有直接從終端輸出,顯示到顯示器上。在C語言中,我們使用fopen,fclose,fread,fwrite對文件進…

粗談pragma once與 #ifndef的區別

#ifnde不受編譯器的任何限制; #pragma once不受一些較老的編譯器支持,兼容性不夠好

在mac os10.13系統下 ,將py文件打包成可執行程序后, 里面的路徑出現的問題

本來 用命令行運行py文件, 代碼里面 獲取當前路徑的 語句 例如: os.getcwd() os.path.abspath(__file__) os.path.realpath(__file__)都可以獲取到當前文件的路徑, 但是打包成 可執行程序后, 統統不對了, 變成了 類似 /usr/xxx 的路徑 https://stackoverflow.com/questions/50…

[linux]wait詳解

wait:進程等待 主要有兩種等待方式:阻塞式等待和非阻塞式等待 阻塞式等待:如果子進程正在運行,父進程將會一直等待著子進程運行結束,并且自己什么事都不干 非阻塞式等待:如果子進程正在運行,…

centos 使vim支持+python和+python3

本文為了給ycm服務,不單獨存在。 查看是否支持python vim --version | grep python然后 下載vim8源碼: git clone https://github.com/vim/vim.git 1 進行編譯安裝,添加python3和python2.7的支持: 進入下載的vim的源碼文件夾中&#x…

ffmpeg的學習-00

命令行 大體樣式 ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...有道翻譯的 以后仔細回看 2.描述 ffmpeg是一個非常快的視頻和音頻轉換器,也可以從一個實時音頻/視頻源抓取。它還可以轉換之間的任意采樣…

[Linux]消息隊列

我們知道進程間通信的方法有多種,主要有管道,消息隊列,信號量,共享內存,socket等。之前介紹過管道,今天再介紹一個新的概念–消息隊列。 消息隊列:將一個進程到另一個進程之間發送數據塊的方式…

詳解centos7 YCM YouCompleteMe自動補全安裝,親測成功

文章經重新排版轉移至以下鏈接 https://blog.csdn.net/csdn_kou/article/details/84633663

python 異步與io

文檔地址: https://docs.python.org/zh-cn/3/library/asyncio.html 以后再記錄學習筆記 待續。。。

tornado 學習注意事項--00

設置url匹配的時候, (r/(.*), AMStaticFileHandler,dict(pathos.path.join(current_path, html), default_filenameindex.html))像這種語句要放到最后,因為放到前面的話, 后面的就無法匹配!

C++關鍵字速查手冊

[TOC] https://blog.csdn.net/csdn_kou/article/details/81113215 C98關鍵字 C11 關鍵字共73個 alignas alignof用于獲取取指定表達式指定的(類似sizeof,可以直接是類型名)的對齊(alignment)。alignas用于聲明時指定對齊類似于現有的類型…

[Linux]信號

Linux下的信號是一個什么概念呢。我們在現實生活中也遇到過信號之類的。比如紅綠信號燈,班主任叫你去辦公室并且臉色不好,諸如此類的都會給你一個信號。讓你辨別事情的發生。同樣,Linux下也有許多的信號,讓你執行相應的操作。比如…

怎么用VLC播放器將m3u8鏈接視頻下載到本地

轉載 https://blog.csdn.net/saddyyun/article/details/85245135

【1】C++面試題函數引用重載宏命名空間

函數重載的條件 ? 同一個名字 ? 函數名字相同 ? 參數列表不同 ? 同一個作用域 為什么c支持函數重載而c不支持? c函數名字的修飾規則不一樣。c編譯器對函數修飾規則把int的參數列表形式加了進來,從而保證底層使用不同 cAdd(int a,int b)_AddcA…

[數據結構]Map和Set

說起map和set,想必我們都學過紅黑樹了吧,map和set就是紅黑樹的一個應用領域。它的底層就是由紅黑樹來實現的。下面簡單說一下map和set的使用吧。 首先,有一個栗子是這樣的,讓我們統計出每種水果出現的次數。 我們會想到怎么解決…

js獲取Json對象的長度

有兩種Json形式: 第一種: var json1 {"data":[{"name":"zs","age":"10"}]};對于這種格式的json數據,如果想獲取data的長度,就可以用以下這種方式: var length …

生產者消費者模型(條件變量)

三種關系:互斥,同步,互斥和同步 兩類角色:生產者,消費者(線程) 一個交易場所:生產者消費者共享的區域 賣蘋果的模型 dish上面只有一個蘋果買家必須要等賣家把蘋果放到dish上才可以去買蘋果。…

linux之信號

信號:在生活中,我們遇到過不同種類的信號,比如:(交通信號,乃至某個人的表情,動作等帶給你不同的信號)然而,在我們的linux下,我們最熟悉的就是,當遇…

視頻解析有感,在解析 iqiyi與qq視頻的時候,記錄一些發現

最近對iqiyi與qq視頻解析發現,兩個網站的解析流程,尤其是反解析措施 各有特點,簡單記錄一下 先說iqiyi, 瀏覽器模擬移動端可以拿到視頻的mp4鏈接,這個不多說。 iqiyiPC端瀏覽器獲取 ts過程: a.iqiyi一次性…