bash指令碼使用技巧 md

2022-05-04 05:42:10 字數 3902 閱讀 7633

目錄指定換行符讀取:

#! /bin/bash  

ifs=" "

for line in `cat /etc/passwd`

do

echo $line

done

檔案重定向給read處理:

#! /bin/bash  

cat /etc/passwd | while read line

do echo $line

done

用read讀取檔案重定向:

#! /bin/bash  

while read line

do echo $line

done < /etc/passwd

訪問二和三比較相似,推薦用方法三

make && notify-send "編譯完成"

格式如下:

`echo -e "\033[字背景顏色;文字顏色m字串\033[0m"`
字顏色:30—–37

echo -e "\033[30m 黑色字 \033[0m" 

echo -e "\033[31m 紅色字 \033[0m"

echo -e "\033[32m 綠色字 \033[0m"

echo -e "\033[33m 黃色字 \033[0m"

echo -e "\033[34m 藍色字 \033[0m"

echo -e "\033[35m 紫色字 \033[0m"

echo -e "\033[36m 天藍字 \033[0m"

echo -e "\033[37m 白色字 \033[0m"

字背景顏色範圍:40—–47

echo -e "\033[40;37m 黑底白字 \033[0m" 

echo -e "\033[41;37m 紅底白字 \033[0m"

echo -e "\033[42;37m 綠底白字 \033[0m"

echo -e "\033[43;37m 黃底白字 \033[0m"

echo -e "\033[44;37m 藍底白字 \033[0m"

echo -e "\033[45;37m 紫底白字 \033[0m"

echo -e "\033[46;37m 天藍底白字 \033[0m"

echo -e "\033[47;30m 白底黑字 \033[0m"

最後面控制選項說明

\33[0m 關閉所有屬性 

\33[1m 設定高亮度

\33[4m 下劃線

\33[5m 閃爍

\33[7m 反顯

\33[8m 消隱

\33[30m — \33[37m 設定前景色

\33[40m — \33[47m 設定背景色

\33[na 游標上移n行

\33[nb 游標下移n行

\33[nc 游標右移n行

\33[nd 游標左移n行

\33[y;xh設定游標位置

\33[2j 清屏

\33[k 清除從游標到行尾的內容

\33[s 儲存游標位置

\33[u 恢復游標位置

\33[?25l 隱藏游標

\33[?25h 顯示游標

例項

#!/bin/bash

#定義顏色的變數

red_color='\e[1;31m' #紅

green_color='\e[1;32m' #綠

yelow_color='\e[1;33m' #黃

blue_color='\e[1;34m' #藍

pink='\e[1;35m' #粉紅

res='\e[0m'

#需要使用echo -e

echo -e "$*****=red color*****=$"

echo -e "$*****=yelow color*****=$"

echo -e "$*****=green color*****=$"

echo -e "$*****=green color*****=$"

echo -e "$*****=pink color*****=$"

echo "#######################################"

#直接把echo -e放到變數裡面,使用的時候直接輸出變數即可

setcolor_success="echo -en \\033[1;32m"

setcolor_failure="echo -en \\033[1;31m"

setcolor_warning="echo -en \\033[1;33m"

setcolor_normal="echo -en \\033[0;39m"

echo ----oldboy trainning----- && $setcolor_success

echo ----oldboy trainning----- && $setcolor_failure

echo ----oldboy trainning----- && $setcolor_warning

echo ----oldboy trainning----- && $setcolor_normal

一、關鍵字擷取

1、# 擷取之後內容,乙個#表示從左邊開始,兩個#表示從右邊開始

str#*a擷取從左邊開始第乙個a字元之後的內容

str##*a擷取從右邊開始第乙個a字元之後的內容

2、% 擷取之前內容,乙個%表示從左邊開始,兩個%表示從右邊開始

str%a*擷取從左邊開始第乙個a字元之前的內容

str%%a*擷取從右邊開始第乙個a字元之前的內容

二、定位擷取

str:a:b表示擷取從str中第(a-1) 個位置開始,b個字元

str=1234567890abcedef1203

# 使用#擷取從左邊開始第乙個0之後的內容

# 結果 abcedef1203

echo $

# 使用##擷取從右邊開始第乙個0之後的內容

# 結果 3

echo $

# 使用%擷取從右邊開始第乙個0之前的內容

# 結果 1234567890abcedef12

echo $

# 使用%%擷取從左邊開始第乙個0之前的內容

# 結果 9

echo $

# 表示擷取左邊第乙個字元開始,7 表示字元的總個數

# 結果 1234567

echo $

echo $

# 表示左往右第七個字元開始,5 表示字元的個數。

# 結果 def12

echo $

# 這種寫法肯定是會報錯的,因為變數值填充後會是sed -i "s///opt/test/g" ./test.txt

sed -i "s//$path/g" ./test.txt

# 正確的做法是:

# 對path做轉換,實現自動轉義/字元

path=$

# 然後再使用sed進行文字替換

sed -i "s//$path/g"

# 注意:

# 在shell指令碼中定義變數時,禁止定義變數名為path的變數,否則會跟系統的path變數衝突,會覆蓋系統的path變數,導致執行過程出現一系列的問題。

Bash 使用技巧

bash 是我們經常與之打交道的 shell 程式,本文針對其使用技巧進行了蒐羅。相信在你看過這些內容之後,定會在 bash 的世界裡游刃有餘。處理作業 首先,使用 ctrl z 快捷鍵可以讓正在執行的命令掛起。如果要讓該程序在後台執行,那麼可以執行 bg 命令。而 fg 命令則可以讓該程序重新回到...

bash使用技巧

處理作業首先,使用ctrl z 快捷鍵可以讓正在執行的命令掛起。如果要讓該程序在後台執行,那麼可以執行bg 命令。而fg 命令則可以讓該程序重新回到前台來。使用jobs 命令能夠檢視到哪些程序在後台執行。你也可以在 fg 或 bg 命令中使用作業 id,如 fg 3又如 bg 7使用置換 使用管道。...

BASH指令碼基礎 使用set

這篇文章介紹一下在bash中使用set的方法。set可以用於設定指令碼的執行方式,指令碼啟動時也可以通過設定選項來進行設定。在指令碼啟動的設定中,常見的一些選項都可以通過set來進行設定,比如 設定選項 設定選項 快捷設定選項 設定說明 語法檢查 n 用來進行bash語法的檢查 原始碼顯示 verb...