您的位置:首页 > 运维架构 > Shell

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]#

%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:小于等于

-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脚本):
. 文件名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  x常用命令