shell基礎學習總結(一)
-->檢視區域性/全域性環境變數
printenv
env
set
檢視程式對應的環境變數。比如我們想檢視oracle中smon程式對於的環境變數,我們可以使用如下的方法檢視。如果存在字符集的問題,這也是一個很不錯的檢查方式。
[ora11g@rac1 ~]$ ps -ef|grep smon
ora11g 9161 1 0 Nov22 ? 00:00:05 ora_smon_TEST01
ora11g 12012 11889 0 05:34 pts/0 00:00:00 grep smon
[ora11g@rac1 ~]$ cat /proc/9161/environ|tr '\0' '\n'
HOSTNAME=rac1
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
NLS_LANG=american_america.AL32UTF8
SSH_CLIENT=192.168.3.1 60262 22
SSH_TTY=/dev/pts/0
USER=ora11g
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
ORACLE_SID=TEST01
ORACLE_BASE=/u03/ora11g
MAIL=/var/spool/mail/ora11g
PATH=
PWD=/u01/ora11g
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HISTCONTROL=ignoredups
SHLVL=1
HOME=/u01/ora11g
LOGNAME=ora11g
SSH_CONNECTION=192.168.3.1 60262 192.168.3.140 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
ORACLE_HOME=/u03/ora11g/product/11.2.0/dbhome_1
G_BROKEN_FILENAMES=1
_=/u03/ora11g/product/11.2.0/dbhome_1/bin/sqlplus
ORA_NET2_DESC=9,12
ORACLE_SPAWNED_PROCESS=1
SKGP_SPAWN_DIAG_PRE_FORK_TS=1416659723
SKGP_SPAWN_DIAG_POST_FORK_TS=1416659723
SKGP_HIDDEN_ARGS=<FATAL/S/SMON/x0/xC/x0/x139E6056/9139/9134/xB/xD/x1/x139E67A4/1416659723/1416659723>
0
SKGP_SPAWN_DIAG_PRE_EXEC_TS=1416659723
-->shell程式設計之控制結構if-else
if-else大家對於程式設計是再熟悉不過,shell裡面也是類似的格式,可能不同程式語言略有不同。
if-else的結構大體如下面所示,基本脫離不了如下的這些結構。
if command
then
Comamnds
fi
if command; then
commands
fi
if command
then
Commands
else
commands
fi
if command1
then
command
elif commands
then
more commands
fi
-->shell程式設計之控制結構test
可以使用test命令來判斷一個條件的情況。可以使用下面的形式來實現。
if test condition
then
commands
fi
if [ condition ]
then
commands
fi
-->shell程式設計之控制結構之迴圈
對於迴圈結構,可能不同的shell使實現上略有差異。但是如下的格式基本都能滿足日常的程式設計。
#數字段形式
for i in {1..100}
do
if((i%4==0))
then
echo $i
fi
done
#使用shell命令作為迴圈體
for i in `seq 100`
do
if((i%4==0))
then
echo $i
fi
done
#c語言語法的迴圈
for((i=1;i<100;i++))
do
if((i%4==0))
then
echo $i
continue
fi
done
#while迴圈
#方括號實現
i=1
while [ $i -lt 100 ]
do
if(($i%4==0))
then
echo $i
fi
i=$(($i+1))
done
#雙括號實現
字串的比較,可以使用如下的方式。相對於數字比較而言,需要使用兩個雙括號
[[ $str1 = $str2 ]]
i=1
while(($i<100))
do
if(($i%4==0))
then
echo $i
fi
i=$(($i+1))
done
-->shell程式設計之數值比較
數值的比較,無非就是>,>=,<,<=,<>,=這幾種形式。
N1 –eq n2 表示=
N1 –ge n2 表示>=
N1 –gt n2 表示>
N1 –le n2 表示<=
N1 –lt n2 表示<
N1 –ne n2 表示<>
[[ $N1 = $n2 ]]
-->shell程式設計之字串比較
str1 = str2
str1 != str2
str1 \< str2 檢查str1是否比str2小
str1 \> str2
-n str1 檢查str1的長度是否非0
-z str1 檢查str1的長度是否為0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30633755/viewspace-2127778/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell基礎學習總結(二)
- Kotlin 基礎學習總結(一)Kotlin
- JavaScript學習總結(一)基礎部分JavaScript
- 學習canvas基礎的總結Canvas
- shell學習總結-4
- shell學習總結-1
- shell學習總結-2
- shell學習總結-3
- Java 基礎學習總結(一)抽象類和介面Java抽象
- 學習mysql之後的一點總結(基礎)MySql
- Linux學習(Shell基礎)Linux
- Shell 學習筆記 基礎筆記
- JAVA基礎學習-數字與字串學習總結Java字串
- Linux學習-shell基礎02Linux
- 前端學習之PHP基礎函式總結前端PHP函式
- Java基礎知識學習筆記總結Java筆記
- 機器學習演算法基礎概念學習總結機器學習演算法
- Shell程式設計基礎學習之四:語法結構程式設計
- java基礎總結一Java
- Flutter學習總結系列----Flutter基礎全面詳解Flutter
- Oracle學習總結--基礎部分(儲存與索引)Oracle索引
- Shell程式設計基礎學習之一:正規表示式程式設計
- 【多執行緒總結(一)-基礎總結】執行緒
- 前端學習小結(一)—基礎入門篇前端
- canva基礎學習(一)
- OC學習總結(一)
- 零基礎學習Java,全方位知識點總結!Java
- 2020-11-17 學習總結:bootstrap基礎boot
- Java基礎學習總結(121)——Java JVM執行流程JavaJVM
- Shell(Bash)學習· 總章
- 【Linux學習筆記29】shell指令碼基礎Linux筆記指令碼
- Linux Bash Shell學習(八):shell程式設計基礎——string操作Linux程式設計
- Linux shell基礎(一)Linux
- JAVA學習--JAVA基礎(一)Java
- JavaWeb基礎知識總結:如何系統學習spring boot?JavaWebSpring Boot
- 學習python有關統計基礎部分課程總結Python
- Linux Bash Shell學習(七):shell程式設計基礎——執行Shell指令碼、functionLinux程式設計指令碼Function
- 第一週學習總結