ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux:shell脚本及交互

Linux:shell脚本及交互

原创 Linux操作系统 作者:果果的空间 时间:2013-08-14 17:52:27 0 删除 编辑
shell脚本编程
ls | wc -l  统计ls目录下有多少个文件
ls -l | grep ^d , 查看文件夹
ls -l | grep ^d | wc -l , 查看文件夹有多少个

Shell脚本:


很多命令本身就是shell脚本,如 startx
vi `which startx`


vi /etc/rc.d/rc.sysinit  可以修改系统的启动脚本文字


Shell中正则表达式



与Shell脚本进行交互
$1、$2、$3 都是参数,使用参数来传递内容
$# 一共多少个参数
$?    上一个命令是否成功执行
$$  显示进程号
read 读取变量,读入数据给变量
printf 和 echo 输出数据

如:read -p "Please input your name:" AAA
printf "$AAA is smart"

可以使用命令来进行交互

Shell脚本执行
1.输入脚本的绝对路径或相对路径, 如: /root/backup    ./backup  要求有可执行权限(方式),是新打开一个bash执行
2.bash脚本或tcsh脚本,表示以bash或tcsh来执行脚本, 如: bash  /root/backup     和  bash ./aaa  不要求有可执行权限(方式),是新打开一个bash执行
3.再脚本的路径前加"." ,如:  .  ./backup      . /root/backup   不要求有可执行权限(方式),是在当前的bash执行

vi b
echo "AAAAAAAAAAAAAAAAAAA"
pstree |grep -A2 -B2 pstree 在当前的bash中执行
export BBB=weixl
chmod a+x b

/tmp/b  这是新打开一个bash来执行,也就是kdeinit-bash-bash-pstree
bash ./b 这也是新打开一个bash来执行
echo $BBB 显示为空,因为以上两种方式,export 只在当前的脚本中,或子shell中执行,以上两种新打开bash就无法找到

第三种方式 .  ./b或 .  /tmp/b,这样的话,执行echo $BBB ,就可以显示weixl了

打开初始化脚本 vi /etc/profile 查看执行方式的shell


bash脚本中的流程控制
1.条件判断控制  [ ]  &&  ||   if    case
2.循环控制 while   utile  for  break     continue

[ ] 在bash中可以判断真假,如:[ -f /bin/ls ] && /bin/ls


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29056818/viewspace-768524/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Linux:shell脚本sed
请登录后发表评论 登录
全部评论

注册时间:2013-07-18

  • 博文量
    60
  • 访问量
    114966