shell

shell 内核与用户之间的解释程序
 /bin/bash  常用解释器
/bin/sh
/bin/bash
/sbin/nologin(用户无法登陆)
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
shell脚本写好可执行的语句,完成特定任务的文件
        按顺序、批量化处理
编写规范
1、声明解释器    #!/bin/bash
2、编写注释       #(脚本功能,作者信息,,,,)
3、执行指令
     shell脚本以 .sh结尾

脚本执行方式
1、添加x权限 绝对(/opt/test01.sh)或相对(./)路径执行
vim test01.sh
[root@svr7 opt]# cat test01.sh
#!/bin/bash
#测试脚本
echo hello world
echo 123
[root@svr7 opt]# chmod u+x test01.sh 
[root@svr7 opt]# ll test01.sh
-rwxr--r--. 1 root root 52 5月   6 10:19 test01.sh
[root@svr7 opt]# /opt/test01.sh 
hello world
123
2、解释器执行脚本,不需要x权限(产生子进程执行脚本)
     bash test01.sh
3、使用source命令执行脚本,无需x权限(父进程执行脚本)
               脚本用非交互式指令
#!/bin/bash
yum -y install vsftpd &> /dev/null 不显示弹出的所有信息
systemctl start vsftpd
systemctl enable  vsftpd
常量----固定的值
变量----使用固定的名称存放可能变化的值 

变量的种类
    自定义变量(不能数字开头,不能使用特殊符号)
 变量名称=变量的值
                $调用变量
                unset 取消变量
a=100
[root@svr7 opt]# echo $a
100
[root@svr7 opt]# unset a
                   echo ${a}大括号可以避免混淆
    环境变量    系统定义,直接调用
      PWD
/opt
[root@svr7 opt]# echo $USER
root
[root@svr7 opt]# echo $SHELL
/bin/bash
[root@svr7 opt]# echo $HOSTNAME
svr7.tedu.cn
[root@svr7 opt]# echo $HOME
1,引号与反撇号
" "  双引号   界定范围
' '   单引号   界定范围  屏蔽特殊符号功能
``   反撇号   可以获取命令的执行结果,或者使用$( )可以实现
             相同效果
  
位置变量与预定义变量
               $1   执行脚本时后面跟的第1个位置参数  
    $2   执行脚本时后面跟的第2个位置参数
    $3   执行脚本时后面跟的第3个位置参数
    $*   执行脚本时后面跟的所有位置参数
    $#   执行脚本时后面跟的所有位置参数的个数
    $$   随机的进程号
    $?   判断上一条指令是否成功,0是成功,非0是失败
read指令交互式
#!/bin/bash
read -p "请输入用户名称:" n
useradd $n
read -p "请输入密码:"  m
echo "$m" | passwd --stdin $n

 stty -echo 屏蔽回显
 stty  echo 恢复回显
#!/bin/bash
read -p "请输入用户名称:" n
useradd $n
stty -echo
read -p "请输入密码:"  m
stty echo
echo "$m" | passwd --stdin $n
     3、export发布全局变量
 export b=100  #创建变量    全局
  [root@svr7 opt]# echo $b
 100
 [root@svr7 opt]# bash 
 [root@svr7 opt]# echo $b
 100
 exit 退出子进程
export -n b   #全局变成局部
pstree | grep bash  重新打开一个窗口 查看当前开了几个子进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值