日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1-7:学习shell之透过shell看世界

發布時間:2025/3/15 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1-7:学习shell之透过shell看世界 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一:擴展
    • (1)路徑名擴展
    • (2)波浪線擴展
    • (3)算數擴展
    • (4)花括號擴展
    • (5)參數擴展
  • 二:引用
    • (1)雙引號
    • (2)單引號
    • (3)轉義字符

一:擴展

其實每次你按下回車鍵時,bahs都會在執行命令前對文本進行多重的處理。舉個簡單的例子,*作為通配符的意思匹配任意多個字符,那么當命令行中有通配符*時,在執行命令之前,bash會把*進行擴展

echo命令用于顯示文本,也就是將文本參數內容打印到標準輸出,如下echo ls

那么echo *.txt,就會把當前目錄下所有以.txt結尾的文件名顯示出來

(1)路徑名擴展

像剛才這種echo *.txt,使用通配符實現擴展的機制稱為路徑名擴展,這種功能非常靈活,可以配合通配符實現很多需求
比如找出當前目錄下所有以大寫字母開頭的文件或文件夾

查看usr目錄下,眾多目錄里含有share目錄的路徑

(2)波浪線擴展

其實這個大家也都知道,cd ~是回到用戶目錄,而echo ~是顯示用戶目錄

(3)算數擴展

shell可以當作計算器使用。使用算數擴展要尊崇這樣的格式:$((expression))

算數擴展支持的算數運算符如下

這里算數擴展僅了解,更多要在后續介紹

(4)花括號擴展

用過花括號擴展的人不得不說它的強大
使用花括號擴展時,花括號內的以逗號分隔的字符會進行分別處理
比如說我要一次性創建5個文件夾分別為test_1_test,test_3_test,test_5_test,test_7_test,test_9_test,一個一個創建太過麻煩,所以可以使用花括號擴展

還有更神奇的用法,如果花括號中左右兩邊中間是..,那么他就會按照左右兩邊的規律進行處理
比如說創建26個文件夾,文件夾名字分別是26個大寫字母

還比如生成1-10000的一萬個數,則可寫作echo {1..10000} > test.txt

(5)參數擴展

其實參數擴展,我在另外一篇文章中就講到過了,就是如何顯示環境變量,使用到的就是ech $PATH

二:引用

第一部分我們講了,$命令作為擴展的關鍵字,對命令進行擴展,但是有時會產生一些問題,比如說下圖我的目的是在屏幕上顯示 I have $5.00,但是$遇見了5,于是開始了參數擴展,但是沒有這樣類型的環境變量,所以它被替換為了空字符串,于是輸出了I have .00

所以為了解決這樣的問題,shell提供了引用

(1)雙引號

雙引號是第一種引用,主要用來處理空格問題,只要文本在雙引號之中,Linux中除了$,/外,其余特殊符號將失去意義,也就是說除了參數擴展,算數擴展外其他擴展將失效。

空格在命令行中具有很特殊的意義,空格空開的兩個字符很可能被當做為兩個參數。如果必須要創建一個名字叫做Hello World.txt的文件夾,要是按照之前的方式創建,就會創建出兩個文件夾

如果把文件夾名字放在雙引號之內,將會忽略掉空格

但是注意雙引號對參數擴展和算數擴展無效

(2)單引號

如果要使得所有擴展都不生效,那么就是用單引號

(3)轉義字符

我相信在這里,轉義字符就不需要我多說了吧,能看這種類型文章人,還會不知道轉義字符的作用嗎

總結

以上是生活随笔為你收集整理的1-7:学习shell之透过shell看世界的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。