国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

趙縣網(wǎng)站建設公司seo jsbapp9

趙縣網(wǎng)站建設公司,seo jsbapp9,一個公司可以做兩個網(wǎng)站嗎,wordpress商城漢化主題Shell概述 shell是一個命令行解釋器,它接收應用程序/用戶命令,然后調(diào)用操作系統(tǒng)內(nèi)核 腳本入門 腳本格式 腳本以#!/bin/bash開頭(指定解析器) helloworld # 創(chuàng)建腳本 [linuxlocalhost datas]$ cat helloworld.sh #!/bin/bas…

Shell概述

shell是一個命令行解釋器,它接收應用程序/用戶命令,然后調(diào)用操作系統(tǒng)內(nèi)核

腳本入門

腳本格式

腳本以#!/bin/bash開頭(指定解析器)

helloworld

# 創(chuàng)建腳本
[linux@localhost datas]$ cat helloworld.sh 
#!/bin/bash
echo "hello huangxb"# 執(zhí)行腳本方式1
[linux@localhost datas]$ bash helloworld.sh 
hello huangxb# 執(zhí)行腳本方式2
[linux@localhost datas]$ ./helloworld.sh
-bash: ./helloworld.sh: 權(quán)限不夠

方式1,本質(zhì)是bash解析器幫你執(zhí)行腳本,所以腳本本身不需要執(zhí)行權(quán)限;方式2,本質(zhì)是腳本自己需要執(zhí)行,所以需要執(zhí)行權(quán)限

多命令處理

  • ?在linux家目錄下創(chuàng)建一個bangzhang.txt并在文件中寫入"I IOVE YOU"字符
#!/bin/bash
cd /home/linux/
touch banzhang.txt
echo "I LOVE YOU" >> banzhang.txt

Shell中的變量

常用系統(tǒng)變量

$HOME $PWD $SHELL $USER

[linux@localhost datas]$ echo $HOME
/home/linux
[linux@localhost datas]$ echo $PWD
/home/linux/datas
[linux@localhost datas]$ echo $SHELL
/bin/bash
[linux@localhost datas]$ echo $USER
linux

自定義變量

基本語法

  1. 定義變量:變量=值?等號兩邊不能留有空格
  2. 撤銷變量:unset 變量
  3. 輸出變量:echo $變量
  4. 聲明靜態(tài)變量: readonly 變量,注意:不能unset
[linux@localhost datas]$ A=1
[linux@localhost datas]$ echo $A
1
[linux@localhost datas]$ unset A

變量定義規(guī)則

  1. 變量名稱可以由字母,數(shù)字和下劃線組成,不能以數(shù)字開頭,環(huán)境變量名建議大寫
  2. 等號兩側(cè)不能有空格
  3. 在bash中,變量默認類型都是字符串類型,無法直接進行數(shù)值運算
  4. 變量的值如果有空格,需要使用雙引號或單引號括起來
[linux@localhost datas]$ D="A B C"
[linux@localhost datas]$ echo $D
A B C
  1. 可把變量提升為全局變量,可供其他shell程序使用
    export 變量

特殊變量

$n

$n (描述:n為數(shù)字,$0代表腳本名稱,10以內(nèi)參數(shù)用$1-9 表 示 , 10 以 上 的 需 要 用 大 括 號 包 含 , 9表示,10以上的需要用大括號包含,9表示,10以上的需要用大括號包含,{10})

#!/bin/bash
echo "$0 $1 $2 $3"

$#

$# (功能描述:獲取所有輸入?yún)?shù)個數(shù),常用于循環(huán))

#!/bin/bash
echo "$0 $1 $2 $3"
echo $#
  • $* (描述:代表命令行中所有的參數(shù),把所有參數(shù)看成一個整體)
  • $@ (描述:也代表命令行中所有的參數(shù),不過把每個參數(shù)區(qū)分對待)
[linux@localhost datas]$ bash parameter.sh test1 test2
parameter.sh test1 test2 
2
test1 test2
test1 test2
  • 1
  • 2
  • 3
  • 4
  • 5

$?

$? (描述:最后一次執(zhí)行命令的狀態(tài),0:正確執(zhí)行)

運算符

  1. $((運算式)) 或 $[運算式]
  2. expr +,-,\*,/,% 加減乘除取余
    expr運算符間要有空格
# 計算2+3
[linux@localhost datas]$ expr 2 + 3
5# 計算(2+3)*4
## 方式1
[linux@localhost datas]$ expr `expr 2 + 3` \* 4
20## 方式2
[linux@localhost datas]$ s=$[(2+3)*4]
[linux@localhost datas]$ echo $s
20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

條件判斷

基本語法

[condition] (注意 condition前后要有空格)

常用判斷條件

兩個整數(shù)之間比較

符號描述
-lt(less than)小于
-le(less equal) 小于等于
-eq(equal)等于
-gt(greater than) 大于
-ge(greater equal) 大于等于
-ne(not equal) 不等于

文件權(quán)限判斷

  • -r 有讀的權(quán)限
  • -w 有寫的權(quán)限
  • -x 有執(zhí)行的權(quán)限

文件類型判斷

  • -f 文件存在并且是一個常規(guī)文件
  • -e 文件存在
  • -d 文件存在病是一個目錄
# 判斷23是否大于2
[linux@localhost datas]$ [ 23 -gt 2 ]
[linux@localhost datas]$ echo $?
0# 判斷helloworld.sh是否有寫入權(quán)限
[linux@localhost datas]$ [ -w hellowrld.sh ]
[linux@localhost datas]$ echo $?
1# 判斷目錄中文件是否存在
[linux@localhost datas]$ [ -e /home/linux/datas ]
[linux@localhost datas]$ echo $?
0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

多條件判斷

&& ||

流程控制

IF判斷

[linux@localhost datas]$ cat if.sh
#!/bin/bash
if [ $1 -eq 1 ]
thenecho "班長真帥"
elif [ $1 -eq 2 ]
thenecho "班長真丑"
fi
[linux@localhost datas]$ bash if.sh 2
班長真丑
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

case 語句

[linux@localhost datas]$ cat case.sh
#!/bin/bash
case $1 in
1)echo "班長"
;;
2)echo "學習委員"
;;
3)echo "體育委員"
;;
esac
[linux@localhost datas]$ bash case.sh 2
學習委員
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

for循環(huán)

語法1

[linux@localhost datas]$ cat for.sh
#!/bin/bash
s=0
for((i=1;i<=100;i++))
dos=$[$s+$i]	
done
echo $s
[linux@localhost datas]$ bash for.sh
5050
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

語法2

[linux@localhost datas]$ cat for2.sh
#!/bin/bash
for i in $*
doecho $i
done
[linux@localhost datas]$ bash for2.sh 1 2
1
2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

WHILE循環(huán)

[linux@localhost datas]$ cat while.sh
#!/bin/bash
s=0
i=1
while [ $i -le 100 ]
dos=$[$s + $i]i=$[$i + 1]
done
echo $s[linux@localhost datas]$ bash while.sh
5050
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

read讀取控制臺輸入

read(選項)(參數(shù))
  • 1
  • -p 指定讀取值時的提示符
  • -t 指定讀取值時等待的時間(秒)
# 提示7秒內(nèi),讀取控制臺輸入的名稱
[linux@localhost datas]$ cat read.sh
#!/bin/bash
read -t 7 -p "在7s內(nèi)請輸入你的名字" NAME
echo $NAME
[linux@localhost datas]$ bash read.sh
在7s
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

函數(shù)

系統(tǒng)函數(shù)

basename

basename [string / pathname] [suffix] (描述:basename命令會刪掉所有的前綴包括最后一個‘/’字符,然后將字符串顯示出來)
  • 1
# 方式1
[linux@localhost datas]$ basename /home/linux/banzhang.txt
banzhang.txt# 方式2
[linux@localhost datas]$ basename /home/linux/banzhang.txt .txt
banzhang

dirname

dirname 文件絕對路徑 (描述:從給定的包含絕對路徑的文件名中去除文件名(非目錄的部分),然后返回剩下的路徑(目錄的部分))
  • 1
[linux@localhost datas]$ dirname /home/linux/banzhang.txt
/home/linux
  • 1
  • 2

自定義函數(shù)

# 格式
[ function ] funname[()]
{Action:[return int;]
}
funname
# DESC 計算輸入兩個參數(shù)的值
[linux@localhost datas]$ cat sum.sh
#!/bin/bash
function sum(){s=0;s=$[$1 + $2]echo $s
}
read -p "input your param1:" P1
read -p "input your param2:" P2
sum $P1 $P2
[linux@localhost datas]$ bash sum.sh
input your param1:1
input your param2:2
3

shell工具

cut

cut命令從文件的每一行剪切字節(jié),字符和字段并將這些字節(jié),字符和字段輸出
cut [選項參數(shù)] filename

  • -f 列號,提取第幾列
  • -d 分隔符,按照指定分隔符分隔列
# DESC 切割cut.txt第一列
[linux@localhost datas]$ cat cut.txt
dong shen
guan zhen
wo wo
lai lai
le le
[linux@localhost datas]$ cut -d " " -f 1 cut.txt
dong
guan
wo
lai
le# DESC 獲取第三行第一個單詞
[linux@localhost datas]$ cat cut.txt | grep guan | cut -d " " -f 1
guan

sed

sed是一種流編輯器,它一次處理一行內(nèi)容,處理時,把當前處理的行存儲在臨時緩沖區(qū)中,成為“模式空間”,接著sed命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容送往屏幕,接著處理下一行,這樣不斷重復,知道文件末尾,文件內(nèi)容并沒有改變,除非你使用重定向存儲輸出
sed [選項參數(shù)] ‘command’ filename

  • -e 直接在指令列模式上進行sed的動作編輯

命令功能描述

  • a 新增
  • d 刪除
  • s 查找并替換
# DESC 在第二行后增加mei nv字符
[linux@localhost datas]$ sed -e "2a mei nv" sed.txt
dong zhen
guan zhen
mei nv
wo wo
lai lai

awk

awk 一個強大文件分析工具,把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行分析處理

awk [選項參數(shù)] 'pattern1 {action1} pattern2{action2}..' filename
  • -F 指定輸入文件分隔符
  • -v 賦值一個用戶定義變量

sort

sort 命令是在Linux里非常有用,它將文件進行排序,并將排序結(jié)果標準輸出

sourt [選項] (參數(shù))
參數(shù)描述
-n依照數(shù)值大小排序
-t以相反的順序排序
-t設置排序時使用的分隔字符
-k指定需要排序的列
 

http://m.aloenet.com.cn/news/42924.html

相關文章:

  • 找個做網(wǎng)站的人培訓機構(gòu)還能開嗎
  • 杭州微信網(wǎng)站建設企業(yè)網(wǎng)站的搜索引擎推廣與優(yōu)化
  • 石家莊市高新區(qū)建設局網(wǎng)站百度競價推廣后臺
  • 都有哪些電商平臺優(yōu)化seo軟件
  • 攝影網(wǎng)站的模板會計培訓機構(gòu)
  • 美食網(wǎng)站開發(fā)方案百度搜索結(jié)果優(yōu)化
  • 專業(yè)的網(wǎng)站建設公司免費平臺
  • 做當?shù)亻T戶網(wǎng)站多少錢app推廣方案范例
  • 一個人做網(wǎng)站好做嗎推廣效果最好的平臺
  • 網(wǎng)站icp備案流程現(xiàn)在比較好的營銷平臺
  • 企業(yè)加盟網(wǎng)站建設北京seo營銷培訓
  • 個人網(wǎng)站建設詳細教程百度seo關鍵詞優(yōu)化方案
  • 安陽網(wǎng)站如何做優(yōu)化營銷推廣公司案例
  • 動態(tài)網(wǎng)站開發(fā)的集成網(wǎng)站網(wǎng)絡營銷是做什么的
  • 社群電商平臺排名搜索引擎優(yōu)化的內(nèi)部優(yōu)化
  • 公司頁面設計圖片寧波seo網(wǎng)絡推廣咨詢價格
  • wordpress 網(wǎng)站備案號搜索引擎營銷的主要方法包括
  • 黨務網(wǎng)站建設總體要求東莞海外網(wǎng)絡推廣
  • 平面設計資源網(wǎng)站微信搜索seo優(yōu)化
  • 哈爾濱暫?,F(xiàn)場業(yè)務內(nèi)蒙古seo
  • 手機網(wǎng)站建設服務電話軟文案例200字
  • 企業(yè)網(wǎng)站開發(fā)的目的seo關鍵詞排名系統(tǒng)
  • 網(wǎng)頁個人信息頁面seo專業(yè)技術(shù)培訓
  • 四川德行天下建設工程有限公司網(wǎng)站河北網(wǎng)站建設案例
  • 怎樣做原創(chuàng)短視頻網(wǎng)站百度網(wǎng)址大全簡單版
  • 鏈家在線網(wǎng)站是哪個公司做的代運營哪家比較可靠
  • 鄭州新一網(wǎng)站建設企業(yè)在線培訓系統(tǒng)
  • 重慶建網(wǎng)站培訓機構(gòu)常用的網(wǎng)絡推廣方法有
  • 龍華網(wǎng)站建設銷售員怎么做線上銷售
  • 個性化wordpress南京百度提升優(yōu)化