Shell脚本(篇1)

1.如何执行一个未设置x权限的Shell脚本?

sh 脚本文件路径
source 脚本文件路径
. 脚本文件路径

2.自定义Shell变量时,变量名有什么规则?

可以包括数字、字母、下划线,不能以数字开头
变量名区分大小写
赋值时等号两边不要有空格
尽量不要使用关键字和特殊字符
给同一个变量多次赋值时,最后一次的赋值生效

3.编写一个Shell脚本程序,用来报告当前用户的环境信息。

新建脚本文件report.sh,执行后能够输出当前的主机名、登录用户名、所在的文件夹路径。效果如下所示:
当用户root执行的时候:
[root@svr5 ~]# /opt/report.sh
当前的主机名是:svr5.tarena.com
登录用户是:root
当前位于 /root 文件夹下
当普通用户mike执行的时候:
[mike@svr5 ~]$ /opt/report.sh
当前的主机名是:svr5.tarena.com
登录用户是:mike
当前位于 /home/mike 文件夹下

解决方式

[root@svr5 ~]# cat /opt/report.sh
#!/bin/bash
echo "当前的主机名是:$HOSTNAME"
echo "登录用户是:$LOGNAME"
echo "当前位于 $PWD 文件夹下"
[root@svr5 ~]# chmod +x /opt/report.sh

4.简述预定义变量$$、$?、$0、$#、$*、$!的作用

$$ 保存当前运行进程的(PID)号
$? 保存命令执行结果的(返回状态)
$0 保存当前运行的(进程名)或(脚本名)
$# 保存位置变量的(个数)
$* 保存所有位置变量的(值)
$! 保存后台(最后一个进程)的PID号

5.编写一个Shell脚本程序,能够快速添加用户账号。

新建脚本文件quick_uad.sh,执行时指定新用户名作为参数,能够快速添加对应的用户账号,并将用户的登录密码设为123456。效果如下所示:
[root@svr5 ~]# ./quick_uad.sh xixi //添加用户xixi
更改用户 xixi 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@svr5 ~]# id xixi
uid=525(xixi) gid=525(xixi) 组=525(xixi)
[root@svr5 ~]# ./quick_uad.sh haha //添加用户haha
更改用户 haha 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@svr5 ~]# id haha
uid=526(haha) gid=526(haha) 组=526(haha)
实例:
[root@svr5 ~]# vim quick_uad.sh
#!/bin/bash
useradd $1
echo 1234567 | passwd --stdin $1
[root@svr5 ~]# chmod +x quick_uad.sh

6.简述三种定界符在变量赋值操作中的特点。
  双引号 " ":允许扩展,以 $ 引用其他变量
  单引号 ' ':禁用扩展,即便 $ 也视为普通字符
  反撇号 ` `:将命令的执行输出作为变量值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值