Bash shell中几个知识点备忘
1.针对算术运算。有以下几种赋值方法:
let a=1+2
echo $a
a=$((3+3))
echo $a
a=$[4*4]
echo "$a"
set $[a=5*5]
echo "$a"
2.判断一个目录是否存在:
if [ -d "$(pwd)/../CAndPointer" ];then
echo "../CAndPointer directory exsits."
fi
3. {}/()的用法:
echo al.{txt,gz}
-> al.txt al.gz
${}的用法:
${a} == $a
$(cmd)
eg. echo "$(ls -l)"
$[expression]
用法见上。
{}还有一种用法,作为文件输入,以行保存到变量中:
File=condition.sh
{
read line1
read line2
}<$File
4.判断一个字符串为空:
if [ -z "$1" ]
then
echo "Useage:'basename $0' [domain-name]"
exit $E_NOARGS
fi
5.IFS用法,IFS作为输出的默认分隔符,在shell中分隔相应字符比较有用。
注:IFS变量的默认值为" "
试验一下以下用法:
var="'(]\\{}\\\$\""
echo $var
echo "$var"
IFS='\'
echo $var
echo "$var"
let a=1+2
echo $a
a=$((3+3))
echo $a
a=$[4*4]
echo "$a"
set $[a=5*5]
echo "$a"
2.判断一个目录是否存在:
if [ -d "$(pwd)/../CAndPointer" ];then
echo "../CAndPointer directory exsits."
fi
3. {}/()的用法:
echo al.{txt,gz}
-> al.txt al.gz
${}的用法:
${a} == $a
$(cmd)
eg. echo "$(ls -l)"
$[expression]
用法见上。
{}还有一种用法,作为文件输入,以行保存到变量中:
File=condition.sh
{
read line1
read line2
}<$File
4.判断一个字符串为空:
if [ -z "$1" ]
then
echo "Useage:'basename $0' [domain-name]"
exit $E_NOARGS
fi
5.IFS用法,IFS作为输出的默认分隔符,在shell中分隔相应字符比较有用。
注:IFS变量的默认值为" "
试验一下以下用法:
var="'(]\\{}\\\$\""
echo $var
echo "$var"
IFS='\'
echo $var
echo "$var"