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

Linux-Shell

2016-06-25 23:15 369 查看

一、脚本文件编写的格式

Linux下有三种shell:
(1)Bourne Shell是AT&T Bell实验室的 Steven Bourne为AT&T的Unix开发的,它是Unix的默认Shell,也是其它Shell的开发基础。Bourne Shell在编程方面相当优秀,但在处理与用户的交互方面不如其它几种Shell。
(2)C Shell是加州伯克利大学的Bill Joy为BSD Unix开发的,与sh不同,它的语法与C语言很相似。它提供了Bourne Shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。但是,C Shell与BourneShell并不兼容
(3)Korn Shell是AT&T Bell实验室的David Korn开发的,它集合了C Shell和Bourne Shell的优点,并且与Bourne Shell向下完全兼容。Korn Shell的效率很高,其命令交互界面和编程交互界面都很好

/*通知系统一下的shell程序使用系统上的Bourne Shell来解释*/

#!/bin/sh

/*第二行一般注释写脚本名*/

#commond_shell.sh

/*第三行一般是脚本的功能注释*/

echo "Hello,$NAME!"

/*脚本编写完成添加脚本的执行权限*/

chmod u+x commond_shell.sh

二、Shell下的命令

1.用户管理命令

/*新建用户*/
echo "useradd UserName"

/*设置用户的密码*/

echo "passwd UserName"

此时在home目录下是看不到该用户的,如果需要切换到新创建的用户使用su Usernama;

将密码输入进去就可以切换到新创建的用户下,此时输入whoami就可以看到当前用户了;你可以看到原来用户下的所有内容;

新创建的用户和原来的用户具有相同的读权限,却没有新建文件操作的权限;在/eetc目录下的group中可以找到所有用户

/*新建群组*/

echo "groupadd GroupName"

/*删除群组*/

echo "groupdel GroupName"

/*查看用户身份*/

echo "whoami"

/*显示所有用户的信息*/

echo "who -a"

/*列的形式显示*/

echo "who -H"

/*某一时刻用户的行为*/

echo "w"

/*切换用户*/

echo "su UserName"

/*显示文件中前10行的内容*/

echo "hede FileName"

/*显示文件中后10行的内容*/

echo "tail FileName"

/*增加行号显示文件的所有内容*/

echo "nl FileName"

/*linux下大部分脚本都在此*/

echo "/usr/lib/klibc/bin"

/*查找文件下的文件名为destname的文件*/

echo "find / -name "destname" -print"

/*查找文件中的关键字KeyName*/

echo "grep "destname" KeyName"

/*一次一屏显示文件内容,空格或者回车显示下一屏*/

more FileName

less FileName

la -l 显示如drwxrwxr,说明该文件是目录文件

2.Shell下的变量

(1)变量一般用大写字母表示;

(2)使用echo命令可以显示单个变量的取值,要在变量名前加$;

(3)使用set可以显示本地所有的Shell变量;

(4)unset变量名可以清除对变量的定义;

#!/bin/sh

#var_shell.sh

#to test varibales!

echo USER = xiaoru

echo "hello $USER,the out as fllows!"

echo "the script name si        :'basename $0'"

echo "the script first paramis          :'$1'"

echo "the script second paramis         :'$2'"

echo "the script tenth paramis  :'$10'"

echo "the all params of script is       :'$*'"

echo "the number of params input to script      :'$#'"

echo "the process Id of script is       :'$$'"

echo "the exit status of this script is         :'$?' 

3、条件测试

逻辑操作符:

-a 逻辑与,操作数俩边都为真的时候为真

-o逻辑或,有一个为真即为真

!逻辑非,值为假时为真;

-z 空字符串

-n非空串

4.Shell中的循环和选择控制

(1)if...else...



(2)case语句



(3)for语句



(4)while语句



(5)函数

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: