Shell字符串

一 介紹

  shell程序的字符串可以用單引號,也可以用雙引號,也可以不用,字符串是最有用的數據類型。

二 單引號

  單引號字符串的限制:

    》單引號內的內容原樣輸出,單引號字符串的變量是無效的。

    》單引號內不能出現單引號,加轉義字符也不可以。

  eg:

  

#!/bin/sh
my_name='Alex_lei'
echo ${my_name}     #輸出Alex_lei

?

三 雙引號

  雙引號的優點:

    》雙引號內可以出現變量

    》可以出現轉義字符

?

  eg:

  

#!/bin/bash
my_name="Alex_lei"
readonly my_name
echo ${my_name}
info="Hello ${my_name}"
echo ${info}

?

#!/bin/sh
my_name="Alex_lei"
str="Hello I know you are \"$my_name\"!"   #雙引號內加轉義字符    
echo ${str}

?

四 拼接字符串

  eg:

  

#!/bin/bash
my_name="Alex_lei"
str="Hello I know you are \"$my_name\"!"
str1="Hello ${my_name}"
echo ${str}
echo ${str1}

?

五 獲取字符串長度

  在變量名前加個#,在將其用{}括起來,之后在最前面加個$。 

#!/bin/sh
my_name="Alex_lei"
echo ${#my_name}    #輸出8

?

六 提取字符串

  字符串的下標是從0開始的,以下實例是截取從第2個字符開始長度為6的字符串。

  

#!/bin/sh
my_name="Alex_lei"
str=${my_name:2:6}
echo ${str}        #輸出ex_lei

?

七 查找子字符串的位置

  以下實例是查找is的位置

?

  

#!/bin/sh
string="runoob is a great company"
echo `expr index "$string" is`  # 輸出 8

?

?

  

  

轉載于:https://www.cnblogs.com/lyr999736/p/9018926.html

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

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

相關文章

powershell 特殊符號處理

顯示字符串有雙引號 “ 兩個雙引號產生一個雙引號,這里不包括最外層的雙引號。 $a"PowerShell" """My name is $a"",this program said." 使用轉義字符 轉義序列由反引號定義,也就是鍵盤F1下面與波浪線同鍵…

如何使用 System.Text.Json 序列化 DateTimeOffset 為 Unix 時間戳

在 .NET 中,日期和時間通常使用 DateTime 或 DateTimeOffset 來表示。這兩種數據類型都可以表示日期和時間,但它們之間有一些明顯的區別。DateTime 是不帶時區信息的,而 DateTimeOffset 是帶時區偏移量的,可以用來表示一個特定的時…

IDEA 學習筆記之 安裝和基本配置

安裝和基本配置: 下載:https://www.jetbrains.com/idea/download/#sectionwindows 下載Zip安裝包: 基礎知識: Eclipse的工作區IDEA的項目 Eclipse的項目IDEA的模塊 修改信息提示:Alt/ 關閉當前窗口:CtrlW 自…

大廠高級前端面試題答案

阿里 使用過的koa2中間件https://www.jianshu.com/p/c1e... koa-body原理https://blog.csdn.net/sinat_1... 有沒有涉及到Clusterhttp://nodejs.cn/api/cluster.... 介紹pm2PM2是node進程管理工具,可以利用它來簡化很多node應用管理的繁瑣任務,如性能監控…

js app緩存自動刷新_如何通過清除緩存來刷新App Store中的內容

js app緩存自動刷新Are you finding that you’re not seeing new apps on the App Store, or that updates to apps won’t go away even after you’ve installed the updates? Here’s a simple fix. 您是否發現自己在App Store上沒有看到新的應用程序,或者即使…

Office Web APP預覽如何去掉頂部版權標志“Microsoft Office Web Apps”

在Office Web APP的預覽會涉及4中類型的文 件:Word、Excel、PowerPoint、PDF,不同的類型在預覽時調用的文件是不一樣的,其中Word和 PDF調用的是同一個文件。每個預覽的頁面都有對應的CSS文件,如下:PowerPointC:\Progra…

ORA-01400: 無法將 NULL 插入 (CHARGE_WQRL.SF_JMQTFY_T.BH)

[ERROR] JmCheckManageDaoImpl:901 - java.sql.SQLException: ORA-01400: 無法將 NULL 插入 ("CHARGE_WQRL"."SF_JMQTFY_T"."BH") 這個問題很多時候是沒有為該表建立觸發器(trigger)導致的,或者是序列&#xf…

用最少的代碼,寫一個智能會議APP(MAUI)

Xamarin和MAUI移動開發是.NET核心方向之一,國外社區資源非常豐富,影響力挺大的。而國內則資源很是欠缺,GitHub上的國產開源案例太少了。隨著小米/美的/碧桂園等WPF招聘大戶開始要求移動開發,不少群友都在找相關資源。這里分享一套…

word多級列表修改編號_如何更改在Word中的編號列表中使用的數字類型

word多級列表修改編號By default, Word uses Arabic numbers (1, 2, 3, etc.) when you create numbered lists. However, you can change the numbers to a different type or to letters. The character after the number or letter can also be changed. 默認情況下&#xf…

微服務學習筆記

微服務是一種架構模式或者說是一種架構風格,他提倡將單一的應用程序劃分為一組小的服務,每個服務運行在其獨立的進程中,服務之間互相協調,互相配合,為用戶提供最終價值。dubbo與spring Cloud之間的區別之一是dubbo基于…

Go語言實時GC - 三色標記算法

前言 Go語言能夠支持實時的,高并發的消息系統,在高達百萬級別的消息系統中能夠將延遲降低到100ms以下,很大一部分需要歸功于Go高效的垃圾回收系統。 對于實時系統而言,垃圾回收系統可能是一個極大的隱患,因為在垃圾回收…

每小時50哈希——看看一個內部員工是如何摧毀整個公司網絡的?

本文講的是每小時50哈希——看看一個內部員工是如何摧毀整個公司網絡的?,我們以前曾調查過黑客會通過連接在USB端口的正在充電的手機實施攻擊,在這項研究中,我們重新審視了USB端口的安全性。我們發現,手機充電時&#…

推薦一款 在線+離線數據 同步框架 Dotmim.Sync

移動智能應用可以分為在線模式、純離線模式與“在線離線”混合模式。在線模式下系統數據一般存儲在服務器端的大中型數據庫(如 SQL Server、Oracle、MySQL 等),移動應用依賴于穩定可靠的網絡連接;純離線模式下系統數據一般存儲在移…

如何在Windows 10中將您喜歡的設置固定到開始菜單

If you find you’re accessing the same settings over and over in Windows 10, you can add these settings to the Start menu as tiles for quick and easy access. We’ll show you how to do this. 如果發現要在Windows 10中反復訪問相同的設置,則可以將這些…

20155202《網絡對抗》Exp9 web安全基礎實踐

20155202《網絡對抗》Exp9 web安全基礎實踐 實驗前回答問題 (1)SQL注入攻擊原理,如何防御 SQL注入產生的原因,和棧溢出、XSS等很多其他的攻擊方法類似,就是未經檢查或者未經充分檢查的用戶輸入數據,意外變成…

web前端工程師熱門崗位技能要求前瞻

春節假期以后,稍作調整,馬上就要迎來求職高峰期。作為一名前端工程師或者有意向轉行從事前端相關工作的人,你是否對2019年的前端市場有了新的解讀,對于前端的企業崗位要求有了新的理解。今天我就跟大家分享一下2019年web前端熱門崗…

MVC Html.AntiForgeryToken() 防止CSRF***

MVC中的Html.AntiForgeryToken()是用來防止跨站請求偽造(CSRF:Cross-site request forgery)***的一個措施,它跟XSS(XSS又叫CSS:Cross-Site-Script),***不同,XSS一般是利用站內信任的用戶在網站內插入惡意的腳本代碼進行***,而CSRF則是偽造成受信任用戶對網站進行***…

如何反序列化派生類

前言上回,我們講解了《如何序列化派生類》。那如何反序列化派生類呢?假設有一個 Person 抽象基類,其中包含 Student 和 Teacher 派生類:public class Person {public string Name { get; set; } }public class Student : Person {…

目標跟蹤 facebook_如何關閉Facebook Messenger的位置跟蹤(如果已啟用)

目標跟蹤 facebookIt seems like everyone is tracking our location now. Not surprisingly, Facebook Messenger can also transmit a significant amount of information on your location activity. If you use Messenger, here’s how to make sure it’s not reporting y…

哪位大兄弟有用 cMake 開發Android ndk的

一直用 Android studio 開發ndk,但是gradle支持的不是很好,只有experimental 版本支持 配置各種蛋疼。主要每次新建一個module都要修改配置半天。之前也看到過google 開發文檔有提到 cmake 但是一直沒用。哪位大兄弟用過,說下經驗 哪位大兄弟…