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)函数
相关文章推荐
- linux下编写一个仿shell
- 解决hbase 执行shell命令出错问题
- 说说shell脚本中的export 和 source,bash
- shell 字符(串)处理命令
- 详解Xshell连接本地安装的Linux虚拟机—— Debian
- spark源码阅读之spark-shell
- 模拟Linux的shell
- /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 的区别(转)
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- shell下正则表达式与其工具grep
- shell --- grep 命令详解
- Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
- BASH SHELL not a valid identifier
- Java调用Shell脚本
- 第一个Shell脚本
- bash脚本设置时间
- shell脚本--sed工具
- shell的部分习题(持续更新)
- shell脚本实现动态时钟
- 什么时候使用Shell