欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
深入淺出Shell編程: Shell 變量
先不要管Shell的版本,來(lái)看看Shell 變量,在Shell中有三種變量:系統變量,環(huán)境變量,用戶(hù)變量。其中用戶(hù)變量在編程過(guò)程中使用最多,系統變量在對參數判斷和命令返回值判斷會(huì )使用,環(huán)境變量主要是在程序運行的時(shí)候需要設置。

1 系統變量

Shell常用的系統變量并不多,但卻十分有用,特別是在做一些參數檢測的時(shí)候。下面是Shell常用的系統變量
表示方法 描述
$n $1 表示第一個(gè)參數,$2 表示第二個(gè)參數 ...
$# 命令行參數的個(gè)數
$0 當前程序的名稱(chēng)
$? 前一個(gè)命令或函數的返回碼
$* 以"參數1 參數2 ... " 形式保存所有參數
$@ 以"參數1" "參數2" ... 形式保存所有參數
$$ 本程序的(進(jìn)程ID號)PID
$! 上一個(gè)命令的PID
其中使用得比較多得是 $n $# $0 $? ,看看下面的例子: BeautifierPlugin Error: Unable to handle "bash" syntax.
#!/bin/sh#This file is used to explain the shell system variable.echo "the number of parameter is $# ";echo "the return code of last command is $?";echo "the script name is $0 ";echo "the parameters are $* ";echo "\$1 = $1 ; \$2 = $2 ";

下面是運行結果:

BeautifierPlugin Error: Unable to handle "bash" syntax.

-bash-2.05b$ ./chapter2.1.sh winter stlchinathe number of parameter is 2the return code of last command is 0the script name is ./chapter2.1.shthe parameters are winter stlchina$1 = winter ; $2 = stlchina

這個(gè)例子太簡(jiǎn)單了,一點(diǎn)也不實(shí)用,下面來(lái)個(gè)實(shí)用的,如果你看不懂,沒(méi)有關(guān)系,后面的內容會(huì )有詳細解釋。 BeautifierPlugin Error: Unable to handle "bash" syntax.

#!/bin/shif [ $# -ne 2 ] ; thenecho "Usage: $0 string file";exit 1;figrep $1 $2 ;if [ $? -ne 0 ] ; thenecho "Not Found \"$1\" in $2";exit 1;fiecho "Found \"$1\" in $2";

上面的例子中使用了$0 $1 $2 $# $? 等變量,下面是程序的解釋?zhuān)?/p>

  1. 判斷運行參數個(gè)數,如果不等于2,顯示使用"用法幫助", 其中 $0 表示就是腳本自己。
  2. 用grep 在$2 文件中查找$1 字符串。
  3. 判斷前一個(gè)命令運行后的返回值(一般成功都會(huì )返回0, 失敗都會(huì )返回非0)。
  4. 如果沒(méi)有成功顯示沒(méi)找到相關(guān)信息,否則顯示找到了。
  5. 其中\"表示轉義,在"" 里面還需要顯示"號,則需要加上轉義符\" .

下面運行的例子:

BeautifierPlugin Error: Unable to handle "bash" syntax.

./chapter2.2.sh usage chapter2.2.shNot Found "usage" in chapter2.2.sh-bash-2.05b$ ./chapter2.2.sh Usage chapter2.2.shecho "Usage: $0 string file";Found "Usage" in chapter2.2.sh

2 Shell用戶(hù)變量

2.1 基礎

不管系統變量有多少,對于需求來(lái)說(shuō),總是不夠的。用戶(hù)變量是最常用到的變量,使用也十分簡(jiǎn)單。

用戶(hù)定義的變量必須由字母數字及下劃線(xiàn)組成,并且變量名的第一個(gè)字符不能為數字, 與其它UNIX名字一樣,變量名是大小寫(xiě)敏感的. 對于用戶(hù)變量,用戶(hù)可按如下方式賦值: BeautifierPlugin Error: Unable to handle "bash" syntax.

  name="Winter"
在引用變量時(shí),需在前面加$符號,用戶(hù)也可以在變量間進(jìn)行相互賦值,如: BeautifierPlugin Error: Unable to handle "bash" syntax.
  name="Winter"WINTER=$nameecho "Hello $WINTER !"
輸出結果應該很清楚:Hello Winter !

這里需要注意一點(diǎn):變量和‘=‘之間不要有空格,‘=‘和賦值也不要有空格,否則shell不會(huì )認為變量被定義。掌握了基本的使用方法,你可以完全開(kāi)始你的編程工作了。不過(guò)有時(shí)候需要未雨綢繆,下面介紹用戶(hù)變量的一些技巧。

2.2 使用技巧

也可以用變量和其他字符組成新的字,這時(shí)可能需要把變量用{}括起,如: BeautifierPlugin Error: Unable to handle "bash" syntax.
 SAT=Saturecho Today is ${SAT}day
輸出結果是: Today is Saturday

有時(shí)候為了避免變量名和別的字符產(chǎn)生混淆,你最好養成習慣把變量名用{}括起來(lái)。

對于未賦值的變量, Shell以空值對待, 用戶(hù)也可以用unset命令清除給變量賦的值.看一個(gè)例子: BeautifierPlugin Error: Unable to handle "bash" syntax.

#!/bin/shecho "a=$a" ;a=2echo "a=$a" ;unset aecho "a=$a" ;
先猜猜結果是什么? BeautifierPlugin Error: Unable to handle "bash" syntax.
-bash-2.05b$ ./test.sha=a=2a=
如果你懂C++,你應該知道有個(gè)變量修飾符"const",用于避免程序一不小心對變量進(jìn)行修改。在shell中,對于用戶(hù)變量,你可以使用同樣的修飾符"readonly", 如果我把上面的例子修改成這樣: BeautifierPlugin Error: Unable to handle "bash" syntax.
#!/bin/shecho "a=$a" ;#下面增加了readonlyreadonly a=2echo "a=$a" ;unset aecho "a=$a" ;
其結果當然會(huì )不一樣了: BeautifierPlugin Error: Unable to handle "bash" syntax.
-bash-2.05b$ ./test.sha=a=2a=2

2.3 shell 中的數組

shell變量中還能設置數組,但是不同的shell版本有不同數組賦值方法,而bourne shell 中不支持數組方式。因此,如果不是十分需要,還是建議你不要使用數組。若你的數據結構十分復雜,必須要使用數組,那么我建議你還是選擇別的語(yǔ)言吧,shell不是萬(wàn)能的。

shell有兩種賦值方式,第一種是直接用下標賦值: BeautifierPlugin Error: Unable to handle "bash" syntax.

name[0]="Tom"name[1]="Tomy"name[2]="John"...
另一種方式對于不同的shell版本不一樣。bash中賦值: BeautifierPlugin Error: Unable to handle "bash" syntax.
#!/usr/local/bin/bashname=("Tom" "Tomy" "John")for i in 0  1 2doecho $i:${name[$i]} ;done;
上面兩種賦值方式達到的效果一樣。另外,你看見(jiàn)訪(fǎng)問(wèn)數組元素的方法了嗎?使用${name[index]}的方式。注意第一行使用的是#!/usr/local/bin/bash, 和以前有些不一樣哦。其輸出結果是: BeautifierPlugin Error: Unable to handle "bash" syntax.
-bash-2.05b$ ./test.sh0:Tom1:Tomy2:John

3 shell 環(huán)境變量

shell 環(huán)境變量是所有shell 程序都會(huì )接受的參數。shell程序運行時(shí),都會(huì )接收一組變量,這組變量就是環(huán)境變量。常用的環(huán)境變量:
名稱(chēng) 描述
PATH 命令搜索路徑,以冒號為分隔符.注意與DOS下不同的是, 當前目錄不在系統路徑里
HOME 用戶(hù)home目錄的路徑名,是cd命令的默認參數
COLUMNS 定義了命令編輯模式下可使用命令行的長(cháng)度
EDITOR 默認的行編輯器
VISUAL 默認的可視編輯器
FCEDIT 命令fc使用的編輯器
HISTFILE 命令歷史文件
HISTSIZE 命令歷史文件中最多可包含的命令條數
HISTFILESIZE 命令歷史文件中包含的最大行數
IFS 定義SHELL使用的分隔符
LOGNAME 用戶(hù)登錄名
MAIL 指向一個(gè)需要SHELL監視其修改時(shí)間的文件.當該文件修改后, SHELL將發(fā)消息You hava mail給用戶(hù)
MAILCHECK SHELL檢查MAIL文件的周期,單位是秒
MAILPATH 功能與MAIL類(lèi)似.但可以用一組文件,以冒號分隔,每個(gè)文件后可跟一個(gè)問(wèn)號和一條發(fā)向用戶(hù)的消息
SHELL SHELL的路徑名
TERM 終端類(lèi)型
TMOUT SHELL自動(dòng)退出的時(shí)間,單位為秒,若設為0則禁止SHELL自動(dòng)退出
PROMPT_COMMAND 指定在主命令提示符前應執行的命令
PS1 主命令提示符
PS2 二級命令提示符,命令執行過(guò)程中要求輸入數據時(shí)用
PS3 select的命令提示符
PS4 調試命令提示符
MANPATH 尋找手冊頁(yè)的路徑,以冒號分隔
LD_LIBRARY_PATH 尋找庫的路徑,以冒號分隔

這些變量,要關(guān)注的最多的就是PATH, 其重要性不要我說(shuō)了吧?

如果你希望把你定義的變量讓其他所有的shell程序都能使用,也就是定義新的環(huán)境變量。你只要使用export關(guān)鍵詞就可以了。例如: BeautifierPlugin Error: Unable to handle "bash" syntax.

export MY_NAME=Winterexport PATH=/home/winter/bin:$PATH
上面的程序中,第一行輸出MY_NAME變量,第二行是在環(huán)境變量PATH中增加一個(gè)路徑/home/winter/bin 。如果你希望這些設置在你登陸unix/linux都有效,你需要把他們加入到你的shell啟動(dòng)腳本中, 如果是使用bash BeautifierPlugin Error: Unable to handle "bash" syntax.
~/.bash_profile
其他版本你看一眼就知道了,在你的home目錄下,以"."開(kāi)頭的文件,一般都會(huì )隱藏起來(lái),你需要使用‘ls -al‘命令來(lái)顯示。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
解決Linux運行bash腳本報-/bin/sh: ./modko_usb.sh: not found或者Syntax error: Bad for loop variable錯
Linux運維學(xué)習Bash Shell命令執行的流程是怎樣的?
Linux Shell Bash 變量賦值 - Powered by PHPWind.net
shell入門(mén)基礎(1)
shell環(huán)境變量有哪些知識?linux運維知識點(diǎn)
Linux的環(huán)境變量設置方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久