青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

面對現(xiàn)實(shí),超越自己
逆水行舟,不進(jìn)則退
posts - 269,comments - 32,trackbacks - 0

1$表示普通用戶,#表示超級(jí)用戶(root user)。超級(jí)用戶是Linux系統(tǒng)中權(quán)限最高的用戶。

2shell通常以#!起始,例如:#!/bin/bash

3、運(yùn)行腳本的兩種方式:1、將腳本作為sh的命令行參數(shù)。2、將腳本作為具有執(zhí)行權(quán)限的可執(zhí)行文件。

          例如:$ sh script.sh Or $ sh /home/path/script.sh

          注:如果將腳本作為sh的命令行參數(shù)運(yùn)行,那腳本中#!就沒什么用處了。

          腳本的可執(zhí)行權(quán)限可以通過以下方式設(shè)置:$ chmod a+x script.sh    執(zhí)行:./script.sh  #當(dāng)前目錄下  $ /home/path/script.sh #使用腳本完整路徑

4、在bash中每個(gè)命令或是命令序列式通過使用分號(hào)或換行符來分隔的。例如: $ cmd1;cmd2  等同于   $ cmd1   $ cmd2

5echo用于終端打印的基本命令,在echo 的雙引號(hào)形式中打印!需要用轉(zhuǎn)義字符/!轉(zhuǎn)義。

6、可以用printf輸出,格式與C相同。

7echo中可以用 -n忽略結(jié)尾的換行符,如果需要使用轉(zhuǎn)義序列,則采用 echo -e"包含轉(zhuǎn)義序列的字符串"這種形式。

8、打印色彩輸出, \e[1;31 將顏色設(shè)置為紅色,\e[0m 將顏色重新置回,例如: echo -e "\e[1;31m This is red txt \e[0m"

9、設(shè)置背景,例如:echo -e "\e[1;42m Green Background \e[0m"

10、可以用env命令在終端查看所有于此終端相關(guān)的環(huán)境變量,對于每個(gè)進(jìn)程,在起運(yùn)行時(shí)的環(huán)境變量可以使用下面的命令查看, cat /proc/$PID/environ

      使用pgrep命令獲取進(jìn)程的ID$ pgrep gedit #gedit為進(jìn)程名稱

      替換可以使用tr命令,環(huán)境變量之間由null字符(\0)分割,如果將\0替換成\n 如下:$ cat /proc/12501/environ | tr '\0' '\n'

11、設(shè)置環(huán)境變量,用export,如: HTTP_PROOXY=http://192.168.20.1:134  export HTTP_PROOXY 直接設(shè)置:export PATH="$PATH:/home/user/bin"

12、獲取字符串的長度:length=${#var}

13、識(shí)別當(dāng)前shell版本:echo $SHELL or echo $0

14、檢查是否為超級(jí)用戶(UID環(huán)境變量):if [ $UID -ne 0 ]; then   echo Non root user. Please run as root else echo "Root user" fi

       注:root用戶的UID時(shí)0.

15、數(shù)學(xué)運(yùn)算:在Bash shell環(huán)境中,可以利用let (())[]執(zhí)行基本的算術(shù)操作,而在進(jìn)行高級(jí)操作時(shí),exprbc這兩個(gè)工具也會(huì)非常有用。

      使用let時(shí),變量名之前不需要再添加$,如:no1=4; no2=5; let result=no1+no2 echo $result

      自加操作:let no1++   自減操作:let no1--

      簡寫形式:let no+=6  let no-=6

      其他方法:result=$[ no1 + no2 ] result=$[ $no1 + 5]

                    result=$(()no1 + 50)

                    result='expr 3 + 4'

                    result=$(expr $no1 + 5)

      以上這些方法只能用于整數(shù)運(yùn)算,而不支持浮點(diǎn)數(shù)。可以借助bc工具執(zhí)行浮點(diǎn)數(shù)運(yùn)算。

      如:echo "4 * 0.56" | bc

      設(shè)定小數(shù)精度:echo "scale=2;3/8" | bc

      禁制轉(zhuǎn)換:no=100 echo "obase=2;$no" | bc Result:1100100

                    no=1100100 echo "obase=10;ibase=2;$no" | bc Result:100

      計(jì)算平方以及平方根: echo "sqrt(100)" | bc  #Square root

                                   echo "10^10" | bc      #Square

                                                                                                                 

16、重定向

      系統(tǒng)預(yù)留的三個(gè)標(biāo)準(zhǔn)描述符:stdin(0)stdout(1)stderr(2)

     1> >>的區(qū)別

      $echo "hello world" > temp.txt會(huì)將temp.txt中的內(nèi)容先清空,然后再添加hello world

      而如果是 $echo "hello world" > temp.txt 則直接在文本尾部添加。

 

     2)將標(biāo)準(zhǔn)輸入、輸出以及err 重定向到文件

      比如:cmd 2>stderr.txt 1>stdout.txt

       cmd 2>&1 output.txt cmd &> output.txt

      "&"在這里代表標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤,這里無論是正常輸出還是錯(cuò)誤信息都寫到filename中了。

      重新定義標(biāo)準(zhǔn)輸入,輸出,和錯(cuò)誤的文件標(biāo)識(shí)符

      重新定義文件標(biāo)識(shí)符可以用i>&j命令,表示把文件標(biāo)識(shí)符i重新定向到j,你可以把"&"理解為"取地址"

     3)自定義描述符

      exec 3<input.txt #使用文件描述符3打開并讀取文件

      echo hello world >input.txt

      #echo 123456789 >filename   把字符串寫到文件filename

      #exec 3<>filename           把文件filename打開,并指定文件標(biāo)識(shí)符為3

      #read -n 4 <&3              從文件中讀4個(gè)字符,句柄已經(jīng)指到第四個(gè)字符末尾

      #echo -n . >&3              在第5個(gè)字符處寫一個(gè)點(diǎn),覆蓋第5個(gè)字符,-n表示不換行

      #exec 3>&-                                        關(guān)閉文件標(biāo)識(shí)符3

 

17、數(shù)組array_var={0 1 2 3 4 5}   打印數(shù)組元素內(nèi)容:$ echo ${array_var[0]} or  $ index=5  $ echo ${array_var[$index]}

      打印數(shù)組中所有值:$ echo ${array_var[*]} or $ echo ${array_var[@]}

      打印數(shù)組長度:$ echo ${#array_var[*]}

      列出數(shù)組索引:$ echo ${!array_var[*]} or $ echo ${!array_var[@]}

          

18、一步按回車鍵的方式讀取字符“n”:read -n numbers_of_chars variable_name   如:$ read -n 4 var    $ echo $var

      用不回顯的方式讀取密碼:read -s var    顯示提示信息:read -p "Enter Input:" var   在特定時(shí)限內(nèi)讀取輸入:read -t timeout var 

      用定界符結(jié)束輸入:read -d delim_char var   如:$ read -d ":" var

                  

19、比較符號(hào):-eq 等于   -ne不等于  -gt大于   -lt小于  -ge大于等于   -le小于等于

 

20、字符串比較:[[ $str1 = $str2 ]] 另一種寫法:[[ $str1 == $str2 ]]  [[ -z $str1 ]] 空字符串返回真   [[ -n $str1 ]] 非空返回真

 

21$$ shell 本身的PID ;

      $! shell最后運(yùn)行的后臺(tái)ProcessPID ;

      $? 最后運(yùn)行的命令的結(jié)束代碼(返回值);

      $- 使用set命令設(shè)定的flag一覽;

      $* 所有參數(shù)列表。如"$*"["]括起來的情況、以"$1$2...$n"的形式輸出所有參數(shù);

      $@ 所有參數(shù)列表。如"$@"["]括起來的情況、以"$1" "$2"..."$n"的形式輸出所有參數(shù);

      $# 添加到shell的參數(shù)個(gè)數(shù)

      $0 shell本身的文件名

      $1~$n 添加到shell的各參數(shù)值。$1是第1參數(shù)、$2是第2參數(shù)...

                  

22if語句命令:

                   if 條件

                   then

                     Command

                   else

                     Command

                   fi             別忘了這個(gè)結(jié)尾

                  

                   if [ -f file ] 如果文件存在

                   if [ -d ... ] 如果目錄存在

                   if [ -s file ] 如果文件存在且非空 if [ -r file ] 如果文件存在且可讀 if [ -w file ]  如果文件存在且可寫 if [ -x file ] 如果文件存在且可執(zhí)行

        

                   整數(shù)變量表達(dá)式

                   if [ int1 -eq int2 ] 如果int1等于int2

                   if [ int1 -ne int2 ] 如果不等于  if [ int1 -ge int2 ] 如果>= if [ int1 -gt int2 ] 如果> if [ int1 -le int2 ] 如果<= if [ int1 -lt int2 ]如果<

 

                   字符串變量表達(dá)式

                   If [ $a = $b ]   如果string1等于string2 字符串允許使用賦值號(hào)做等號(hào) if [ $string1 != $string2 ] 如果string1不等于string2 if [ -n $string ]      

                   如果string 非空(0),返回0(true)  if [ -z $string ] 如果string 為空 if [ $sting ]           如果string 非空,返回0 (-n類似

                   條件表達(dá)式引用變量要帶$

                  

                   [macg@machome ~]$ man test [(1) User Commands [(1)

                   SYNOPSIS test EXPRESSION [ EXPRESSION ]

                   [-n] STRING the length of STRING is nonzero -n和直接$str都是非0條件

                   -z STRING the length of STRING is zero

                   STRING1 = STRING2 the strings are equal

                   STRING1 != STRING2 the strings are not equal

                   INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2

                   INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2

                   INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2

                   INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2

                   INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2

                   INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2

                   FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2

                   FILE1 -ot FILE2 FILE1 is older than FILE2

                   -b FILE FILE exists and is block special

                   -c FILE FILE exists and is character special

                   -d FILE FILE exists and is a directory

                   -e FILE FILE exists 文件存在

                   -f FILE FILE exists and is a regular file 文件存在且是普通文件

                   -h FILE FILE exists and is a symbolic link (same as -L)

                   -L FILE FILE exists and is a symbolic link (same as -h)

                   -G FILE FILE exists and is owned by the effective group ID

                   -O FILE FILE exists and is owned by the effective user ID

                   -p FILE FILE exists and is a named pipe

                   -s FILE FILE exists and has a size greater than zero

                   -S FILE FILE exists and is a socket

                   -w FILE FILE exists and is writable

                   -x FILE FILE exists and is executabl

               -b     當(dāng)file存在并且是塊文件時(shí)返回真

               -c     當(dāng)file存在并且是字符文件時(shí)返回真

               -d     當(dāng)pathname存在并且是一個(gè)目錄時(shí)返回真

               -e     當(dāng)pathname指定的文件或目錄存在時(shí)返回真

               -f     當(dāng)file存在并且是正規(guī)文件時(shí)返回真

               -g     當(dāng)由pathname指定的文件或目錄存在并且設(shè)置了SGID位時(shí)返回為真

               -h     當(dāng)file存在并且是符號(hào)鏈接文件時(shí)返回真,該選項(xiàng)在一些老系統(tǒng)上無效

               -k     當(dāng)由pathname指定的文件或目錄存在并且設(shè)置了“粘滯”位時(shí)返回真

               -p     當(dāng)file存在并且是命令管道時(shí)返回為真

               -r     當(dāng)由pathname指定的文件或目錄存在并且可讀時(shí)返回為真

               -s     當(dāng)file存在文件大小大于0時(shí)返回真

               -u     當(dāng)由pathname指定的文件或目錄存在并且設(shè)置了SUID位時(shí)返回真

               -w     當(dāng)由pathname指定的文件或目錄存在并且可執(zhí)行時(shí)返回真。一個(gè)目錄為了它的內(nèi)容被訪問必然是可執(zhí)行的。

               -o     當(dāng)由pathname指定的文件或目錄存在并且被子當(dāng)前進(jìn)程的有效用戶ID所指定的用戶擁有時(shí)返回真。


               比較字符寫法:
               -eq    等于
               -ne    不等于
               -gt    大于
               -lt    小于
               -le    小于等于
               -ge    大于等于
               -z     空串
               * =    兩個(gè)字符相等
               * !=   兩個(gè)字符不等
               * -n   非空串

 

posted on 2013-04-03 16:58 王海光 閱讀(465) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 腳本
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本色道久久综合亚洲精品不| 日韩亚洲在线| 久久成年人视频| 亚洲福利久久| 欧美一区二区三区四区高清| 欧美精品一区二区精品网| 久久久久9999亚洲精品| 亚洲午夜久久久久久久久电影院| 国产精品综合不卡av| 欧美日韩国产另类不卡| 快播亚洲色图| 91久久精品国产91性色| 欧美电影电视剧在线观看| 久久久久亚洲综合| 久久亚洲精品网站| 欧美福利小视频| 欧美大胆人体视频| 国产亚洲成精品久久| 日韩一级视频免费观看在线| 欧美国产日韩一区二区三区| 欧美成年人视频网站| 欧美激情精品久久久六区热门| 欧美国产精品久久| 亚洲青涩在线| 亚洲视频国产视频| 免费一级欧美在线大片| 亚洲高清不卡一区| 亚洲美女啪啪| 午夜视黄欧洲亚洲| 久久精品综合| 免费观看亚洲视频大全| 欧美日韩aaaaa| 欧美精品福利| 国产精品亚发布| 精品99视频| 日韩香蕉视频| 亚洲欧美日韩综合aⅴ视频| 欧美综合激情网| 欧美18av| 欧美成人有码| 亚洲午夜电影在线观看| 久久色中文字幕| 欧美性视频网站| 在线观看亚洲专区| 亚洲欧美日韩精品| 亚洲国产aⅴ天堂久久| 亚洲在线视频网站| 欧美国产精品va在线观看| 国产精品日韩在线观看| 亚洲精品国产精品国自产观看浪潮 | 欧美午夜精品久久久久久久 | 欧美粗暴jizz性欧美20| 国产精品男gay被猛男狂揉视频| 激情91久久| 亚洲婷婷免费| 亚洲日本免费| 美女主播视频一区| 国产一区二三区| 午夜精品理论片| 99av国产精品欲麻豆| 美女黄毛**国产精品啪啪| 国产精品欧美精品| 亚洲视频在线观看视频| 亚洲第一网站免费视频| 欧美国产视频一区二区| 精品成人一区二区三区| 亚洲人体大胆视频| 久久精品国语| 黄色一区二区三区| 久久综合国产精品台湾中文娱乐网| 亚洲欧美精品在线| 国产精品一区久久| 欧美专区日韩专区| 久久9热精品视频| 在线国产日韩| 亚洲精品网址在线观看| 国产精品hd| 久久精品亚洲乱码伦伦中文| 欧美一区二区黄| 亚洲第一区在线| 日韩亚洲国产精品| 国产一区视频在线看| 亚洲成在线观看| 国产精品欧美日韩一区| 免费毛片一区二区三区久久久| 欧美激情视频在线免费观看 欧美视频免费一 | 免费一级欧美片在线观看| 久久九九99| a91a精品视频在线观看| 在线亚洲电影| 狠狠狠色丁香婷婷综合激情| 欧美黑人多人双交| 国产精品成人v| 久久夜色精品一区| 欧美日韩一区二区三区四区五区 | 国产欧美日韩不卡免费| 欧美国产激情二区三区| 欧美午夜精品伦理| 免费观看欧美在线视频的网站| 欧美日本在线看| 久久综合九色99| 欧美性猛交一区二区三区精品| 久久伊人一区二区| 欧美视频一区二区在线观看| 亚洲精品国产精品久久清纯直播 | 亚洲视频在线观看一区| 一区免费观看视频| 亚洲香蕉成视频在线观看 | 国产精品久久久免费| 麻豆精品视频在线观看视频| 欧美午夜宅男影院在线观看| 久久综合伊人77777麻豆| 欧美天堂亚洲电影院在线观看| 久久久久久成人| 欧美午夜片在线观看| 欧美国产91| 国产综合久久久久久鬼色| 亚洲社区在线观看| 99re在线精品| 欧美暴力喷水在线| 欧美成人一区二区三区| 国产在线精品自拍| 亚洲欧美综合精品久久成人| 亚洲小视频在线观看| 欧美精品不卡| 亚洲黄色尤物视频| 亚洲黄色有码视频| 美女在线一区二区| 欧美激情在线| 91久久久久久久久| 欧美 日韩 国产一区二区在线视频 | 国产精品久久久久aaaa| 亚洲麻豆av| 中文av一区二区| 国产精品久99| 亚洲女性喷水在线观看一区| 亚洲欧美国产制服动漫| 国产精品美女一区二区| 亚洲一区二区三区在线观看视频| 亚洲一区激情| 国产目拍亚洲精品99久久精品| 亚洲深夜福利| 久久国产精彩视频| 黄色日韩网站| 蜜桃av一区二区三区| 亚洲国产精品一区在线观看不卡| 亚洲高清不卡在线观看| 欧美aaa级| 制服诱惑一区二区| 欧美专区在线观看| 亚洲福利视频网站| 欧美巨乳在线观看| 亚洲摸下面视频| 麻豆国产精品777777在线| 亚洲精品综合| 国产精品亚洲综合久久| 久久久www| 亚洲欧洲另类| 欧美在线观看网址综合| 一区二区亚洲精品国产| 欧美日韩国产色综合一二三四| 中国亚洲黄色| 久久亚洲影音av资源网| 日韩写真在线| 久久国产色av| 久久久久久久久蜜桃| 亚洲精品久久久久久久久久久| 欧美日韩国产综合视频在线观看 | 久久久久久久久久久久久久一区| 欧美a级理论片| 亚洲视频专区在线| 国产一区清纯| 欧美欧美天天天天操| 亚洲免费在线视频| 91久久黄色| 玖玖国产精品视频| 亚洲伊人久久综合| 亚洲国产精品一区| 国产老女人精品毛片久久| 免费在线播放第一区高清av| 一区二区三区国产在线| 欧美成人国产一区二区| 亚洲欧美日韩久久精品 | 国产精品免费网站| 欧美岛国激情| 久久久www成人免费无遮挡大片| 亚洲毛片av| 亚洲电影成人| 久久影院午夜片一区| 午夜精品在线观看| 亚洲理伦电影| 亚洲国产精品一区二区第四页av | 亚洲欧美一区二区精品久久久| 欧美国产1区2区| 久久亚洲午夜电影| 久久精品视频免费观看| 亚洲欧美国产三级| 亚洲性人人天天夜夜摸| 亚洲国产精品高清久久久| 狠狠色狠色综合曰曰|