Shell学习笔记1-2
第二章 變量和運算符
本地變量 ? 應用于本地變量
localtest=“test”? echo ${localtest}
? set 查看本地變量?
readyonly localtest ? ? ?localtest="newvalue" ? ? ?bash:localtest: readyonle varible?
環境變量 ?所有用戶進程,用于子進程,包括編輯器、腳本和應用
? $HOME/.bash_profile (/etc/profile)
export globalvalue="global"
readyonly globalvalue
env?
變量替換 變量的值替換它的名字
testvalue="this is a test"
echo $testvalue
? ${Variable name} 顯示實際值到Variable name
${Variable name:+value} 如果設置了Variable name,則顯示其值value,否則為空
${Variable name:?value} 如果未設置variable name,顯示用戶定義錯誤信息value
${Variable name:-value} 如果未設置variable name,則顯示其值value
${Variable name:=value} 如果未設置variable name,設置其值并顯示
變量清楚
unset $variablename?
位置變量
#!/bin/bash
# variable name??
$0 ?$1 $2??
標準shell變量
? /etc/profile
EXINIT 定義vi
HOME 指主目錄?
IFS 間隔
LOGNAME
MAIL 郵箱放在哪里
MAILCHECK?郵件檢查時間
? MAILPATH
PATH 路徑
? TERM 終端類型 ? TERM=vt100
TZ? 時區
PS1 登錄提示符 set | grep “PS1” ? ?[\u@\h \W]\$ ? PS1="ITTEST:"
PS2?
PWD set | grep “PWD”
SHELL
MANPATH
TERMINFO
?特殊變量
? $# 傳遞腳本的參數個數
$* 以一個單字符顯示所有向腳本傳遞的參數,與位置變量不同,此選項參數可以超9個
$$ 腳本運行的當前進程ID號
$! 后臺運行最后一個進程的ID號
$@ 與$#相同,但是使用是加引號,并在引號中返回每個參數
$- 顯示shell使用的當前選項,與set命令功能相同
$?? 顯示最后命令的推出狀態。0表示沒有錯誤,其他任何值表明有錯誤
影響變量的命令?
? declare 設置或顯示變量
-f 只顯示函數名
-r 創建只讀變量 ? declare ?typeset
-x 創建轉出變量?
export ?用于創建傳給子shell的變量
-- 表示選項結束?
-f 表明 名-值 對中的名字是函數名
-p 顯示全局變量列表?
readyonly
set
shift [n]
typeset?
unset?
引號運算符?
引號非常必要
echo -e "ert, $SHELL '\n* china·echo itlab·"
?
表達式替換?
?
運算符的優先級?
運算符是對計算機發達指令
運算對象 -數字、字符 -變量 -表達式
表達式: 運算符和運算對象的組合體。?
?~op1
op1<<op2
op1>>op2
op1&op2
op1~op2
op1 | op2?
?
?
轉載于:https://www.cnblogs.com/birdgao/archive/2010/08/25/1807900.html
總結
以上是生活随笔為你收集整理的Shell学习笔记1-2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: D3.tsv与D3.csv加载数据
- 下一篇: RIA