標籤:
the Shell Profile:
When a new interactive shell is started, /etc/profile, followed by /etc/bash.bashrc(if a
bash shell), ~/.profile, and finally ~/.bashrc are executed in that order.
PATH
You can set your PATHenvironment variable to tell the shell where to search for programs (and scripts)
to be run. The main system commands are in /bin, /usr/bin, /sbin, and /usr/sbin, but you may
have your own scripts in $HOME/bin, $HOME/scripts, /usr/local/bin, or elsewhere. Append these to
the PATHso that they will be found by the shell even when you are not in that directory:
PATH=${PATH}:${HOME}/bin
ls aliases
Because it is such a common command, there are a few popular lsaliases, the two most common
being llfor ls -land lafor ls -a. Your distribution might even set these for you. Some popular
lsaliases include:
# save fingers!
alias l=’ls’
# long listing of ls
alias ll=’ls -l’
# colors and file types
alias lf=’ls -CF’
# sort by filename extension
alias lx=’ls -lXB’
# sort by size
alias lk=’ls -lSr’
# show hidden files
alias la=’ls -A’
# sort by date
alias lt=’ls -ltr’
History:
# append, don’t overwrite the history
shopt -s histappend
# control the size of the history file
export HISTSIZE=100000
export HISTFILESIZE=409600
# ignore common commands
export HISTIGNORE=”:pwd:id:uptime:resize:ls:clear:history:”
# ignore duplicate entries
export HISTCONTROL=ignoredups
history
~/.inputrc and /etc/inputrc
/etc/inputrcand ~/.inputrcare used by GNU readline facility (used by bash and many other
utilities to read a line of text from the terminal) to control how readline behaves.
set completion-ignore-case On
http_proxy = serveraddress
proxy_user = username
proxy_password = password
sample:
echo "My name is basename $0 - I was called as $0"
echo "I was called with $# parameters."
count=1
while [ "$#" -ge "1" ]; do
echo "Parameter number $count is: $1"
let count=$count+1
shift
done
$ ./manyparams.sh one two three
My name is manyparams.sh - I was called as ./manyparams.sh
I was called with 3 parameters.
Parameter number 1 is: one
Parameter number 2 is: two
Parameter number 3 is: three
產生序列的方法:
seq 10 -1 1
seq 1 1 10
seq last
seq first incr last
seq first last
產生隨機數的方法:
$RANDOM
RANDOM produces a random number between 0 and 32767.
if you want to generate data between m...n , write a function
function getrand()
{
MIN=$1
MAX=$2
let "RANGE=$MAX-$MIN";
if [ "$RANGE" -le "0" ]; then
echo "Error - MAX IS LESS THAN MIN"
fi
#(())表示數學運算
return $(($RANDOM % $RANGE +$MIN))
}
getrand 1 1000
#$?表示傳回值
echo $?
if 判斷中常用的一些運算式:
-d :判斷制定的是否為目錄
-z:判斷制定的變數是否存在值
-f:判斷制定的是否為檔案
-L:判斷制定的是否為符號連結
-r:判斷制定的是否可讀
-s:判斷存在的對象長度是否為0
-w:判斷制定的是否可寫
-x:判斷存在的對象是否可以執行
!:測試條件的否定符號
time format
echo ${date + %Y%m%d}
IFS
IFS is the Internal Field Separator: It lists the set of characters that may be used as whitespace. Its
default value is <space><tab><newline>
IFS=$(echo \t\n)
Linux shell get random number