Linux常用命令笔记---shell编程基础
2013-03-13 21:08
531 查看
查看所有的Shell变量:[root@szm ~]# set
查看所有预定义Shell变量:[root@szm ~]# env
定义一个Shell变量:[root@szm ~]# VAR1="test"
[root@szm ~]# set | grep VAR1
VAR1=test
删除一个变量:[root@szm ~]# set | grep VAR1
_=VAR1
BASH=/bin/bash
HISTFILE=/root/.bash_history
LANG=en_US.UTF-8
PATH=/usr/Kerberos/sbin:/usr/Kerberos/bin:
SHELL=/bin/bash
UID=0
Shell变量赋值:不用加$,引用变量时要加$
输出命令:printf echo
[root@szm bash]# cat mysc.sh
#!/bin/bash
V1="abcdef"
V2=8888
V3=8
printf "%s\t%d" $V1 $V2
[root@szm bash]# . mysc.sh
abcdef 8888[root@szm bash]#
运算:
1)表达式必须置于$[]内
2)数字与运算符之间应当有一个空格
[root@szm bash]# cat a1.sh
#!/bin/bash
a=$[ 3+2 ]
echo "a="$a
b=$[ 3+2*25/3-1 ]
echo "b="$b
-a file True if file exists.
-b file True if file exists and is a block special file.
-c file True if file exists and is a character special file.
-d file True if file exists and is a directory.
-e file True if file exists.
-f file True if file exists and is a regular file.
-g file True if file exists and is set-group-id.
-h file True if file exists and is a symbolic link.
-k file True if file exists and its ‘‘sticky’’ bit is set.
-p file True if file exists and is a named pipe (FIFO).
-r file True if file exists and is readable.
-s file True if file exists and has a size greater than zero.
-t fd True if file descriptor fd is open and refers to a terminal.
-u file True if file exists and its set-user-id bit is set.
-w file True if file exists and is writable.
-x file True if file exists and is executable.
-O file True if file exists and is owned by the effective user id.
-G file True if file exists and is owned by the effective group id.
-L file True if file exists and is a symbolic link.
-S file True if file exists and is a socket.
-N file True if file exists and has been modified since it was last read.
file1 -nt file2 True if file1 is newer (according to modification date) than file2, or if file1 exists and file2 does not.
file1 -ot file2
True if file1 is older than file2, or if file2 exists and file1 does not.
file1 -ef file2
True if file1 and file2 refer to the same device and inode numbers.
控制流:
if[];then
.....
fi
-----------------------------
if[];then
.....
else
.....
fi
-----------------------------
if[];then
.....
elif[];then
.....
elif[];then
....
if
-----------------------------
==========================================================
case .... in
..)
.....
;;
..)
.....
;;
*)
....
esac
==========================================================
for ... in ...
do
......
done
--------------------------
while []
do
.....
done
--------------------------
until []
do
.....
cone
--------------------------
函数的定义与使用:
function ....()
{
.....
}
包含功能(包含另一个Shell脚本):
. 文件名
查看所有预定义Shell变量:[root@szm ~]# env
定义一个Shell变量:[root@szm ~]# VAR1="test"
[root@szm ~]# set | grep VAR1
VAR1=test
删除一个变量:[root@szm ~]# set | grep VAR1
_=VAR1
BASH=/bin/bash
HISTFILE=/root/.bash_history
LANG=en_US.UTF-8
PATH=/usr/Kerberos/sbin:/usr/Kerberos/bin:
SHELL=/bin/bash
UID=0
Shell变量赋值:不用加$,引用变量时要加$
输出命令:printf echo
[root@szm bash]# cat mysc.sh
#!/bin/bash
V1="abcdef"
V2=8888
V3=8
printf "%s\t%d" $V1 $V2
[root@szm bash]# . mysc.sh
abcdef 8888[root@szm bash]#
%d:整数 %s:字符串 \n:回车换行 \r:只回车 \t:水平制表符 \v:垂直制表符 |
1)表达式必须置于$[]内
2)数字与运算符之间应当有一个空格
[root@szm bash]# cat a1.sh
#!/bin/bash
a=$[ 3+2 ]
echo "a="$a
b=$[ 3+2*25/3-1 ]
echo "b="$b
-gt:大于 -lt:小于 -eq:等于 -ne:不等于 -ge:大于等于 -le:小于等于 |
-b file True if file exists and is a block special file.
-c file True if file exists and is a character special file.
-d file True if file exists and is a directory.
-e file True if file exists.
-f file True if file exists and is a regular file.
-g file True if file exists and is set-group-id.
-h file True if file exists and is a symbolic link.
-k file True if file exists and its ‘‘sticky’’ bit is set.
-p file True if file exists and is a named pipe (FIFO).
-r file True if file exists and is readable.
-s file True if file exists and has a size greater than zero.
-t fd True if file descriptor fd is open and refers to a terminal.
-u file True if file exists and its set-user-id bit is set.
-w file True if file exists and is writable.
-x file True if file exists and is executable.
-O file True if file exists and is owned by the effective user id.
-G file True if file exists and is owned by the effective group id.
-L file True if file exists and is a symbolic link.
-S file True if file exists and is a socket.
-N file True if file exists and has been modified since it was last read.
file1 -nt file2 True if file1 is newer (according to modification date) than file2, or if file1 exists and file2 does not.
file1 -ot file2
True if file1 is older than file2, or if file2 exists and file1 does not.
file1 -ef file2
True if file1 and file2 refer to the same device and inode numbers.
控制流:
if[];then
.....
fi
-----------------------------
if[];then
.....
else
.....
fi
-----------------------------
if[];then
.....
elif[];then
.....
elif[];then
....
if
-----------------------------
==========================================================
case .... in
..)
.....
;;
..)
.....
;;
*)
....
esac
==========================================================
for ... in ...
do
......
done
--------------------------
while []
do
.....
done
--------------------------
until []
do
.....
cone
--------------------------
函数的定义与使用:
function ....()
{
.....
}
包含功能(包含另一个Shell脚本):
. 文件名
相关文章推荐
- 【JAVAWEB学习笔记】26_Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装
- Linux常用命令和Shell编程基础
- Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令
- Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令
- Linux总结笔记1-常用命令及脚本基础
- Linux(Ubuntu)下常用的基础命令笔记
- RHCE课程-RH033Linux基础笔记二之安装LINUX及常用命令介绍
- 【课堂笔记】Linux的基础知识,基础命令,常用工具-1
- RHCE课程-RH033Linux基础笔记二之安装LINUX及常用命令介绍
- c/c++unix/linux基础学习笔记-常用命令和vi的使用
- Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令
- Linux总结笔记1-常用命令及脚本基础
- RHCE课程-RH033Linux基础笔记二之安装LINUX及常用命令介绍 推荐
- Linux常用命令和Shell编程基础
- Linux学习笔记_常用命令2
- 慕课linux学习笔记(八)常用命令(5)
- Linux学习笔记:基本概念、常用命令
- Linux基础系列:常用命令(5)_samba服务与nginx服务
- Linux常用命令整理<学习笔记随时更新>
- Linux常用命令学习笔记