Linux/Unix tr、變數、運算以及終端特性的設定等 使用tr的-s選項去除重複出現的字元: www.2cto.com [oracle@localhost tr.folder]$ cat oops.txt And the cowwwwwws went homeeeeeOr did theyyyyyyyyyyyyy[oracle@localhost tr.folder]$ tr -s "[a-z]" < oops.txt And the cows went homeOr did they 刪除空行: www.2cto.com [oracle@localhost tr.folder]$ cat oops.txt And the cowwwwwws went homeeeee Or did theyyyyyyyyyyyyy fas ods css[oracle@localhost tr.folder]$ tr -s "[\012]" < oops.txt And the cowwwwwws went homeeeeeOr did theyyyyyyyyyyyyyfas ods css 轉換大小寫:[oracle@localhost tr.folder]$ echo "hello today is a Fine DAY" | tr "[a-z]" "[A-Z]"HELLO TODAY IS A FINE DAY 刪除數字:[oracle@localhost tr.folder]$ cat oops.txt And the cowwwwwws went homeeeee233123asadfas123ffff Or did theyyyyyyyyyyyyy 12 fas ods css[oracle@localhost tr.folder]$ tr -cs "[a-z][A-Z]" "[\012*]" < oops.txt AndthecowwwwwwswenthomeeeeeasadfasffffOrdidtheyyyyyyyyyyyyyfasodscss [oracle@localhost etc]$ echo "`who | wc -l` users are on today"2 users are on today 查看當前終端特性:[oracle@localhost testDir]$ stty -aspeed 38400 baud; rows 44; columns 167; line = 0;intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;lnext = ^V; flush = ^O; min = 1; time = 0;-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke 設定styy xxx "xxx" 設定變數的預設值:[oracle@localhost testDir]$ day=bad[oracle@localhost testDir]$ echo "today is a ${day:-fine} day"today is a bad day[oracle@localhost testDir]$ unset day[oracle@localhost testDir]$ echo "today is a ${day:-fine} day"today is a fine day 設定唯讀變數:[oracle@localhost testDir]$ readonlydeclare -ar BASH_VERSINFO='([0]="3" [1]="1" [2]="17" [3]="1" [4]="release" [5]="i686-redhat-linux-gnu")'declare -ir EUID="501"declare -ir PPID="19022"declare -r SHELLOPTS="braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor"declare -ir UID="501"[oracle@localhost testDir]$ weather=fine[oracle@localhost testDir]$ readonly weather[oracle@localhost testDir]$ echo ${weather}fine[oracle@localhost testDir]$ weather=fine2 -bash: weather: readonly variable 設定環境變數:[oracle@localhost testDir]$ console=tty1;export console[oracle@localhost testDir]$ echo $console tty1 顯示所有環境變數:env 設定終端類型:[oracle@localhost testDir]$ TERM=linux;export TERM[oracle@localhost testDir]$ echo $TERMlinux shell中的運算:[oracle@localhost testDir]$ var=`date +%Y%m%d`[oracle@localhost testDir]$ let "var2=$var+1" [oracle@localhost testDir]$ echo $var2 20130304[oracle@localhost testDir]$ echo $((var2=$var+3))20130306[oracle@localhost testDir]$ echo var2=$[$var+3]var2=20130306[oracle@localhost testDir]$ let "var++"[oracle@localhost testDir]$ echo $var20130304[oracle@localhost testDir]$ echo $[var+1]20130305