中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

手機(jī)客戶端網(wǎng)站怎么做論述搜索引擎優(yōu)化的具體措施

手機(jī)客戶端網(wǎng)站怎么做,論述搜索引擎優(yōu)化的具體措施,做網(wǎng)站意義,求網(wǎng)站建設(shè)方法文章目錄 shell變量全局變量(環(huán)境變量)局部變量設(shè)置PATH 環(huán)境變量修改變量屬性 啟動(dòng)文件環(huán)境變量持久化 ./和. 的區(qū)別腳本編寫(xiě)判斷 和循環(huán)命令行參數(shù)傳入?yún)?shù)循環(huán)讀取命令行參數(shù)獲取用戶輸入 處理選項(xiàng)處理簡(jiǎn)單選項(xiàng)處理帶值選項(xiàng) 重定向顯示并且同時(shí)輸出到…

文章目錄

    • shell
      • 變量
        • 全局變量(環(huán)境變量)
        • 局部變量
        • 設(shè)置PATH 環(huán)境變量
        • 修改變量屬性
      • 啟動(dòng)文件
        • 環(huán)境變量持久化
      • ./和. 的區(qū)別
      • 腳本編寫(xiě)
      • 判斷 和循環(huán)
      • 命令行參數(shù)
        • 傳入?yún)?shù)
        • 循環(huán)讀取命令行參數(shù)
        • 獲取用戶輸入
      • 處理選項(xiàng)
        • 處理簡(jiǎn)單選項(xiàng)
        • 處理帶值選項(xiàng)
      • 重定向
        • 顯示并且同時(shí)輸出到文件
      • 替換目錄下的所有文件中某個(gè)關(guān)鍵字
      • 刪除關(guān)鍵字所在行

shell

shell的作用是將我們輸入的命令與內(nèi)核溝通。

linux默認(rèn)使用的是bash shell
echo $SHELL可以查看當(dāng)前使用的shell版本

shell中如果想一次執(zhí)行多條命令,可以用分號(hào)隔開(kāi),多條命令的組合可以放到一個(gè)文件中,我們把它叫做腳本。
date ; cd這樣就編寫(xiě)了一個(gè)非常簡(jiǎn)單的shell腳本。

變量

存儲(chǔ)shell會(huì)話和工作環(huán)境的相關(guān)信息。
環(huán)境變量存儲(chǔ)在內(nèi)存中,以便shell中運(yùn)行的腳本和程序能夠訪問(wèn)。
環(huán)境變量分為:全局變量和局部變量
全局變量:對(duì)當(dāng)前shell以及所有子shell可見(jiàn)
局部變量:只在當(dāng)前shell可見(jiàn),子shell不可見(jiàn)

所以全局變量和局部變量差異就是是否 可以被子進(jìn)程使用

全局變量(環(huán)境變量)

set 查看當(dāng)前shell所有變量,包括全局和局部
env 查看當(dāng)前shell下所有環(huán)境變量(只能查看全局變量)
printenv HOME 查看某個(gè)全局環(huán)境變量的值
echo $HOME 查看環(huán)境變量
echo $$ 查看當(dāng)前shell的pid

export作用是將局部變量轉(zhuǎn)換成全局變量
export my_all_home=/lib/lib 設(shè)定全局環(huán)境變量

子shell可以查看和使用但不能修改父shell中的全局環(huán)境變量

unset my_all_home 刪除環(huán)境比哪里

局部變量

沒(méi)有命令能夠查看所有局部變量
設(shè)定局部變量 myhome=/lib/
查看某個(gè)局部變量
變量?jī)?nèi)若有空格可以使用雙引號(hào)或者單引號(hào)myhome=/lib/ jj

設(shè)置PATH 環(huán)境變量

當(dāng)輸入一個(gè)外部命令時(shí),shell會(huì)搜索系統(tǒng)從中找到對(duì)應(yīng)程序。
PATH環(huán)境變量定義了用于查找命令和程序的目錄。
如果要執(zhí)行的外部命令在PATH中查找不到應(yīng)用程序,則會(huì)報(bào)錯(cuò)。

如果要在PATH后繼續(xù)添加路徑,我們可以使用冒號(hào)累加
export PATH=$PATH:/lib

修改變量屬性

變量默認(rèn)是字符串類型
可以使用declare改變變量類型
declare -a var 將變量修改為數(shù)組類型

啟動(dòng)文件

  1. 在系統(tǒng)的啟動(dòng)shell中會(huì)啟動(dòng)/etc/profile 一旦啟動(dòng)shell就會(huì)執(zhí)行該文件中的命令
  2. HOME目錄下的啟動(dòng)文件。在啟用一個(gè)新shell時(shí)會(huì)用到下面的啟動(dòng)文件
    ls -a home目錄可以看到
    ./bashrc ubuntu的home目錄啟動(dòng)文件
環(huán)境變量持久化

所以./bashrc文件的作用就是我們可以將要使用的全局環(huán)境變量放到這個(gè)文件中,那么我們一旦開(kāi)啟新的shell則自動(dòng)擁有這個(gè)環(huán)境變量

如果不想重啟立即生效,則執(zhí)行source ~/.bashrc

./和. 的區(qū)別

  1. 點(diǎn)空格斜杠執(zhí)行腳本,是相當(dāng)于source 執(zhí)行腳本,也就是說(shuō)在當(dāng)前進(jìn)程中執(zhí)行命令,所以其中所有變量的設(shè)置會(huì)對(duì)當(dāng)前Shell其作用

  2. 點(diǎn)斜杠執(zhí)行腳本是外部命令,所以他會(huì)啟動(dòng)子進(jìn)程然后運(yùn)行,所以一些局部變量就不起作用。

也就是說(shuō)設(shè)置環(huán)境變量的時(shí)候我們使用source或者說(shuō). 空格可以直接生效。

腳本編寫(xiě)

使用shell腳本文件,必須在第一行指明所使用的shell版本
#!/bin/bash
表示使用的是bash shell

#!/bin/bashdate
# 打印字符串
echo "let's go"
# 將下一行打印到當(dāng)前行連到一起
echo -n "let's go at:"
date
# 打印環(huán)境變量,兩種均可
echo "HOME: $HOME"
echo "user: ${USER}"# 用戶自定義變量,只在本腳本中生效
var1=10
echo "var1= $var1"
var2=$var1
echo "var2= $var2"# 將shell的輸出賦值給變量
var_date=`date`
echo "$var_date"

判斷 和循環(huán)

在這里插入圖片描述在這里插入圖片描述


# if后面的命令執(zhí)行成功返回0,則可以進(jìn)入then
if date
thenecho "date works"
elseecho "date not work"
fi
# if后面只能跟命令,如果要進(jìn)行條件判斷則需要加大括號(hào)
if [ 1 -eq 2 ]
thenecho "1 = 2"
elseecho "1 != 2"
fi
# while
var2=5
while [ $var2 -gt 0 ]
doecho "$var2 test"var2=$[ $var2-1 ]
done# for var in list 讀取列表
for i in Ala Alb Alc
doecho "test: $i"
donelist="Ala Alb Alc"
if date
thenecho "date works"
elseecho "date not work"
fi
# if后面只能跟命令,如果要進(jìn)行條件判斷則需要加大括號(hào)
if [ 1 -eq 2 ]
thenecho "1 = 2"
elseecho "1 != 2"
fi
# while
var2=5
while [ $var2 -gt 0 ]
doecho "$var2 test"var2=$[ $var2-1 ]
done# for var in list 讀取列表
for i in Ala Alb Alc
doecho "test: $i"
donelist="Ala Alb Alc"
for i in $list
doecho "test: $i"
done# for in c style
for ((i=1; i<10; i++))
doecho "for in c $i"
done
# for遍歷目錄
for file in /home/*
doif [ -d "$file" ]thenecho "$file is a dir"elif [ -f "$file" ]thenecho "$file is a file"fi
done

命令行參數(shù)

傳入?yún)?shù)

對(duì)傳入?yún)?shù)檢查,如果缺少參數(shù)會(huì)產(chǎn)生很糟糕的結(jié)果

# args
echo $0  #./1.sh 不單單是程序名稱
echo $1
if [ -n "$2" ] # 如果有參數(shù)2
# if [ -z "$2" ] 如果沒(méi)有參數(shù)2
thenecho $2
elseecho no args 2
fi
循環(huán)讀取命令行參數(shù)
#當(dāng)前進(jìn)程pid
# $$
#統(tǒng)計(jì)參數(shù)個(gè)數(shù)
echo "param count $#" for param in "$*"
doecho "Parameter * = $param"
done
for param in "$@"
doecho "Parameter @ = $param"
done

./1.sh a b c d
param count 4
Parameter * = a b c d
Parameter @ = a
Parameter @ = b
Parameter @ = c
Parameter @ = d

獲取用戶輸入

當(dāng)執(zhí)行腳本到后,還可以使用read在腳本運(yùn)行中獲取用戶輸入以做下一步判斷。

處理選項(xiàng)

處理簡(jiǎn)單選項(xiàng)

遍歷所有選項(xiàng),選擇符合條件的

while [ -n "$1" ] #循環(huán)檢測(cè)第一個(gè)參數(shù),如果第一個(gè)參數(shù)存在則進(jìn)入循環(huán)
docase "$1" in-a) echo "found the -a option";; # 雙引號(hào)為語(yǔ)法-b) echo "found the -b option";;-c) echo "found the -c option";;*) echo "no matching option";; # 默認(rèn)序列esac # case結(jié)束符shift # 將參數(shù)左移一個(gè)位置
done

(base) [user1@sysqa-h3c-b10 ~]$ ./1.sh -b -c -d -a
found the -b option
found the -c option
no matching option
found the -a option

處理帶值選項(xiàng)

腳本檢測(cè)選項(xiàng)中附加的參數(shù),然后進(jìn)行處理

while [ -n "$1" ] #循環(huán)檢測(cè)第一個(gè)參數(shù),如果第一個(gè)參數(shù)存在則進(jìn)入循環(huán)
#while [ $# -gt 0 ] # 也可以使用這個(gè)判斷,如果參數(shù)個(gè)數(shù)非0
docase "$1" in-a) echo "found the -a option";; # 雙引號(hào)為語(yǔ)法-b) param="$2"echo "found the -b option, param=$param"shift;; #因?yàn)榧恿藗€(gè)參數(shù)所以要移一位-c) echo "found the -c option";;--) shift   #發(fā)現(xiàn)破折號(hào),則選項(xiàng)列表結(jié)束,腳本將剩余參數(shù)作為參數(shù)而不是選項(xiàng)處理break;; #退出循環(huán)去處理剩余參數(shù)*) echo "no matching option";; # 默認(rèn)序列esac # case結(jié)束符shift # 將參數(shù)左移一個(gè)位置
done

(base) [user1@sysqa-h3c-b10 ~]$ ./1.sh -a -b 4 -d -c
found the -a option
found the -b option, param=4
no matching option
found the -c option

#!/bin/bash  # 定義長(zhǎng)短選項(xiàng)  
while [[ $# -gt 0 ]]; do  case "$1" in  -h|--help)  echo "Usage: $0 [-o|--output=FILE] [-v|--verbose] [file...]"  echo "  -o, --output=FILE   Specify output file"  echo "  -v, --verbose       Enable verbose mode"  echo "  -h, --help          Display this help message"  exit 0  ;;  -o|--output)  shift # 跳過(guò)選項(xiàng)本身  output_file="$1"  shift # 跳過(guò)值  ;;  -v|--verbose)  verbose_flag=true  ;;  --) # 結(jié)束選項(xiàng)解析  shift  break  ;;  *) # 未知選項(xiàng)  echo "Error: Unknown option $1"  exit 1  ;;  esac  shift # 跳過(guò)當(dāng)前參數(shù)  
done  # 檢查是否提供了至少一個(gè)非選項(xiàng)參數(shù)  
if [ $# -eq 0 ]; then  echo "Error: No input files provided."  echo "Usage: $0 [-o|--output=FILE] [-v|--verbose] [file...]"  exit 1  
fi  # 處理非選項(xiàng)參數(shù)(這里簡(jiǎn)單打印出來(lái))  
echo "Processing files:"  
for file in "$@"; do  echo "  $file"  # 在這里可以添加處理文件的代碼,例如使用cat, grep, sed等命令  
done  # 根據(jù)選項(xiàng)執(zhí)行相應(yīng)的操作  
if [ -n "$output_file" ]; then  echo "Output file specified: $output_file"  # 在這里可以添加將處理結(jié)果寫(xiě)入文件的代碼  
fi  if $verbose_flag; then  echo "Verbose mode is enabled."  # 在這里可以添加冗余輸出的代碼  
fi  # 腳本結(jié)束  
exit 0

重定向

在這里插入圖片描述標(biāo)準(zhǔn)輸入是鍵盤
輸入重定向符號(hào)為 < ,也就是輸入不再?gòu)逆I盤,而是從其他地方比如文件

標(biāo)準(zhǔn)輸出是顯示器
輸出重定向符號(hào)為 >, 也就是輸出不再到顯示器二十到其他地方比如文件
使用 >> 重定向輸出追加

標(biāo)準(zhǔn)錯(cuò)誤輸出
shell是將錯(cuò)誤消息與正常輸出分開(kāi)處理,所以如果發(fā)生錯(cuò)誤,還是會(huì)輸出到屏幕
ls badfile 2> a.txt 可以將標(biāo)準(zhǔn)錯(cuò)誤輸出到文件

數(shù)據(jù)和錯(cuò)誤同時(shí)輸出到一個(gè)文件
ls badfile &> a.txt或者 2&>1
數(shù)據(jù)和錯(cuò)誤分別輸出
ls badfile 1> a.txt 2>b.txt

如果想把一個(gè)命令的輸出作為另一個(gè)命令的輸入,可以使用重定向
date > 1.log
sort < 1.log

但是需要兩條命令, 看起來(lái)有點(diǎn)笨拙。
使用管道符則可以直接完成這個(gè)功能
date | sort

顯示并且同時(shí)輸出到文件

tee命令
date | tee 1.txt
如果希望追加則加 -a

替換目錄下的所有文件中某個(gè)關(guān)鍵字

#!/bin/bash
# find path and replace all .c file keywords is "while" to "for"
find ./ -name "*.c" -exec sed -i 's/hip/mc/g' {} \;

刪除關(guān)鍵字所在行

find ./ -name "*.c" -exec sed -i '/load_json_helper/d' {} \;
http://www.risenshineclean.com/news/64689.html

相關(guān)文章:

  • 鄭州新感覺(jué)會(huì)所網(wǎng)站哪里做的sem百度競(jìng)價(jià)推廣
  • 怎樣自己開(kāi)網(wǎng)站賺錢seo營(yíng)銷軟件
  • wordpress后臺(tái)網(wǎng)址杭州seo關(guān)鍵字優(yōu)化
  • 外貿(mào)型網(wǎng)站制作怎么制作自己的個(gè)人網(wǎng)站
  • 做網(wǎng)站哪一部分用到Javaseo教程視頻
  • 3合一網(wǎng)站怎么做江蘇搜索引擎優(yōu)化公司
  • 政府網(wǎng)站建設(shè)工作調(diào)研提綱2023免費(fèi)推廣入口
  • 深圳網(wǎng)站建設(shè)民治大道建設(shè)一個(gè)網(wǎng)站的具體步驟
  • 公司請(qǐng)外包做的網(wǎng)站怎么維護(hù)廣州網(wǎng)站設(shè)計(jì)制作
  • 做紅包圖片的網(wǎng)站貴陽(yáng)網(wǎng)絡(luò)推廣外包
  • python 網(wǎng)站開(kāi)發(fā) 案例阿里云搜索引擎網(wǎng)址
  • 宅男做網(wǎng)站12月30日疫情最新消息
  • 電子商務(wù)網(wǎng)站建設(shè)項(xiàng)目杭州seo平臺(tái)
  • 網(wǎng)站上做銷售網(wǎng)點(diǎn)怎么做網(wǎng)頁(yè)設(shè)計(jì)圖
  • 深圳網(wǎng)站建設(shè)定制開(kāi)發(fā) 超凡科技sem廣告
  • 漢中建筑信息平臺(tái)網(wǎng)站關(guān)鍵詞優(yōu)化系統(tǒng)
  • 哪個(gè)網(wǎng)站可以發(fā)寶貝鏈接做宣傳疫情最新數(shù)據(jù)消息
  • 北海做網(wǎng)站網(wǎng)站建設(shè)免費(fèi)網(wǎng)站收錄入口
  • 杭州市江干建設(shè)局網(wǎng)站seo體系百科
  • 做神馬網(wǎng)站優(yōu)化如何建網(wǎng)站詳細(xì)步驟
  • 中國(guó)十大著名戰(zhàn)略咨詢公司福州seo建站
  • pc做任務(wù)賺錢的網(wǎng)站優(yōu)化搜狗排名
  • 服務(wù)器維護(hù)網(wǎng)站建設(shè)教程網(wǎng)絡(luò)營(yíng)銷策略分析
  • 怎么做漫畫(huà)網(wǎng)站個(gè)人在百度上發(fā)廣告怎么發(fā)
  • 東莞企業(yè)網(wǎng)站建設(shè)預(yù)算大概多少seo軟件簡(jiǎn)單易排名穩(wěn)定
  • 路由器當(dāng)服務(wù)器做網(wǎng)站搜索引擎調(diào)詞工具哪個(gè)好
  • 邢臺(tái)做網(wǎng)站地方宣傳推廣方式
  • 在線做文檔的網(wǎng)站百度推廣登錄官網(wǎng)
  • 專門做金融培訓(xùn)的網(wǎng)站有哪些臨沂seo排名外包
  • ifront做原型控件的網(wǎng)站軟文發(fā)稿系統(tǒng)