目錄指定換行符讀取:
#! /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...