Linux:shell脚本及交互

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29056818/viewspace-768524/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值