Shell 腳本基礎學習

查詢手冊

菜鳥教程

for循環和seq的使用

echo "method 1"
for i in `seq 1 10`;
doecho $i;
done
echo "method 2"
for i in {1..10}
doecho $i;
done
echo "method 3"
for i in `seq 1 2 10`;
doecho $i;
done

進入目錄創建文件重定向內容

cd Test
touch test.sh
echo "This is the test for test.sh ">test.sh

關于函數的使用

如果函數內部沒有參數就返回最后一條執行的結果

function Platform()
{echo $(uname)
}function Pwd()
{echo $(PWD)
}function main()
{type=`Platform`echo "Platform:"${type}echo "#####"echo ${PWD}
}main

運行結果

Platform:Darwin
#####
/Users/kouhz/Code/Shell

函數的傳參

funWithParam(){echo "第一個參數為 $1 !"echo "第二個參數為 $2 !"echo "第十個參數為 $10 !"echo "第十個參數為 ${10} !"echo "第十一個參數為 ${11} !"echo "參數總數有 $# 個!"echo "作為一個字符串輸出所有參數 $* !"
}main
[@kouhaozhedeMacBook-Pro:Shell]$ !bash
bash function.sh
Platform:Darwin
#####
/Users/kouhz/Code/Shell
第一個參數為 1 !
第二個參數為 2 !
第十個參數為 10 !
第十個參數為 34 !
第十一個參數為 73 !
參數總數有 11 個!
作為一個字符串輸出所有參數 1 2 3 4 5 6 7 8 9 34 73 !

接受數字

echo "請輸入數字:"
read num
echo "您輸入的數字是:"
echo $num

判斷文件和文件夾是否存在

if [ -f "test.txt" ];thenrm test.txt
elsetouch test.txt
fi
for i in `seq 1 10`;doecho $i>>test.txt
done

文件比較符
-e 判斷對象是否存在
-d 判斷對象是否存在,并且為目錄
-f 判斷對象是否存在,并且為常規文件
-L 判斷對象是否存在,并且為符號鏈接
-h 判斷對象是否存在,并且為軟鏈接
-s 判斷對象是否存在,并且長度不為0
-r 判斷對象是否存在,并且可讀
-w 判斷對象是否存在,并且可寫
-x 判斷對象是否存在,并且可執行
-O 判斷對象是否存在,并且屬于當前用戶
-G 判斷對象是否存在,并且屬于當前用戶組
-nt 判斷file1是否比file2新 [ “/data/file1” -nt “/data/file2” ]
-ot 判斷file1是否比file2舊 [ “/data/file1” -ot “/data/file2” ]

環境變量

local
一般用于局部變量聲明,多在在函數內部使用。
global
其作用域從被定義的地方開始,到shell結束或被顯示刪除的地方為止。

export
將自定義變量設定為系統環境變量(僅限于該次登陸操作,當前shell中有效)
語法:export [-fnp][變量名稱]=[變量設置值]
補充說明:在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供后續執行的程序使用。

正則表達式語法

https://www.sojson.com/regex/generate

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

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

相關文章

mysql 學習筆記15 子查詢

子查詢定義&#xff1a; 單上子查詢舉例&#xff1a; 顯示與 員工 關平 同一部門的員工&#xff0c; 但不包括關平 select * from staff where staff.stdepno (select staff.stdepno from staff where stname關平) and staff.stname<> 關平 ;多行子查詢舉例&#xff…

shell自學筆記

文章目錄重定向數值比較邏輯操作符使用范圍關于文件判斷測試表達式test [] [[]] (())的區別sed教程AWK教程重定向 0表示標準輸入 1表示標準輸出 2表示標準錯誤輸出 默認為標準輸出重定向&#xff0c;與 1> 相同 2>&1 意思是把 標準錯誤輸出 重定向到 標準輸出. &…

ffmpeg簡單使用小記

1. 使用ffmpeg 進行普通切片&#xff08;ts&#xff09;操作 .\ffmpeg.exe -i a.mp4 -y -f hls -c copy -hls_time 10 .\s.m3u82. 使用ffmpeg 對視頻進行設置旋轉參數為0 .\ffmpeg.exe -i a.mp4 -metadata:s:v:0 rotate0 -c copy outputfile.mp43. 使用文件對視頻進行加密 .\…

python3安裝教程配置配置阿里云

配置全新阿里云 Linux iz2ze0ajic0vbvwnjhw2bwz 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 安裝依賴包 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc1.tar.xz 新建一個文件夾存放python3 mkdir /u…

python 使用requests模塊進行 視頻文件的下載

公司項目需要下載一批視頻文件&#xff0c; 格式是mp4和mkv的&#xff0c;就借助request模塊進行了下載&#xff0c;前提是源服務器返回文件的大小&#xff0c;以及可以接受 請求頭headers中帶有Range參數 以下是下載邏輯&#xff1a; resp requests.head(urlreal_video_url)…

Git的多人協作和分支處理測試

首先配置ssh密鑰 克隆項目 配置兩臺主機&#xff08;一臺本地mac&#xff0c;一臺云服務器&#xff09;通過這樣的方式模擬多人開發。 創建分支 [root ~/Git_test_多人協作和沖突合并/branch_test]$ ls README.md [root ~/Git_test_多人協作和沖突合并/branch_test]$ git b…

python 碎片整理 threading模塊小計

threading模塊中&#xff0c; start()與run()方法的區別 threading.start() 方法是開啟一個線程 threading.run() 方法則是普通的函數調用

git教程目錄

git入門教程 PyCharm和git安裝教程 Git的多人協作和分支處理測試

msyql 禁止遠程訪問

1. use mysql 2. select host , user from user; 查看用戶 與 對應的host 3. 將 host 中是 %的改為 localhost&#xff0c; 酌情也可以其他用戶 的host限制為localhost update user set host "localhost" where user "root" and host "%" 4. …

mysql索引回表

先索引掃描&#xff0c;再通過ID去取索引中未能提供的數據&#xff0c;即為回表。 建表 mysql> create table T( id int primary key, k int not null, name varchar(16), index (k))engineInnoDB;如果語句是 select * from T where ID500&#xff0c;即主鍵查詢方式&am…

C++ 執行cmd命令 并獲取輸出

這是參考別人的 &#xff0c;具體來源忘了&#xff0c;唉&#xff0c;等想起來一定補上出處 頭文件 PipeCmd.h #ifndef _PIPE_CMD_H_ #define _PIPE_CMD_H_#include <Windows.h>// 執行 cmd 命令, 并獲取執行結果數據 BOOL PipeCmd(char *pszCmd, char *pszResultBuffe…

iterm2 保存阿里云登陸并防止斷開連接

commando edit profiles新增一個頁面 添加命令 ssh -A -p 22 -o ServerAliveInterval60 rootIP

QString中包含中文的時候, 轉為char *

轉載自 https://blog.csdn.net/mihang2/article/details/39026865 QString中包含中文的時候&#xff0c; 轉為char * void FileEncWidget::QString2ANSI(QString text, char **pOut) {std::wstring wIn text.toStdWString();char *pcstr (char *)malloc(sizeof(char)*(2 * w…

brew安裝

官網&#xff1a;http://brew.sh/ 安裝軟件&#xff1a;brew install 軟件名&#xff0c;例&#xff1a;brew install wget搜索軟件&#xff1a;brew search 軟件名&#xff0c;例&#xff1a;brew search wget卸載軟件&#xff1a;brew uninstall 軟件名&#xff0c;例&#…

關于異步IO模型的學習

看到兩篇不錯的文章&#xff0c;轉載了&#xff1a; https://www.cnblogs.com/fanzhidongyzby/p/4098546.html https://www.cnblogs.com/aspirant/p/9166944.html

centos 無法連接網絡

最小化安裝&#xff0c;沒有ifconfig默認沒法聯網 cd /etc/sysconfig/network-scripts/ sudo vi ifcfg-en33 也有可能是其他后綴 找到ONBOOTno service network restart 然后yum install net-tools

C++實現utf8和gbk編碼字符串互相轉換

不同系統或者服務器之間消息傳遞經常遇到編碼轉換問題&#xff0c;這里用C實現了一個輕量的gbk和utf8互相轉換&#xff0c;可跨平臺使用。&#xff08;重量級的可以用libiconv庫&#xff09; 在windows下用<windows.h>頭文件里的函數進行多字節和寬字符轉換&#xff0c;…

mysql5.7初始密碼查看及密碼重置

查看初始密碼 grep temporary password /var/log/mysqld.logcat /root/.mysql_secret mysql密碼找回 密碼重置 vi /etc/my.cnf 在[mysqld]下加上 skip-grant-tables&#xff0c;如&#xff1a; [mysqld] datadir/var/lib/mysql socket/var/lib/mysql/mysql.sock skip-g…

Ubuntu Linux系統環境變量配置文件

Ubuntu Linux系統環境變量配置文件&#xff1a; /etc/profile : 在登錄時,操作系統定制用戶環境時使用的第一個文件 ,此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。 /etc /environment : 在登錄時操作系統使用的第二個文件, 系統在讀取你自己的profi…

Mooc的Python3學習筆記

文章目錄一些優秀的博主僅供自己查閱&#xff01;&#xff01;&#xff01;首先是掌握基本語法&#xff01;內置的運算符函數函數模塊補充知識點pass函數返回多個值關于默認參數使用的注意事項可變參數的使用方法天天向上代碼單元測試異常處理代碼單例模式Python 中的 if __nam…