shell使用特殊变量
shell使用特殊变量
3.1问题
本例要求编写一个脚本/root/myuseradd,功能特性如下:
1)此脚本可接收2个位置参数,能够按照下列格式执行:
/root/myuseradd用户名密码
2)此脚本执行后,能显示“一共提供了$#个参数”,然后在下一行显示“用户名是$1,密码是$2”,紧跟下一行开始输出对应文件的前几行内容。
3.2方案
使用位置变量可以取得在执行脚本时提供的命令行参数:
表示为$n,n为序号
$1、$2、....${10}、${11}、....
使用预定义变量$#可以统计执行脚本时提供的位置变量个数。
3.3步骤
实现此案例需要按照如下步骤进行。
步骤一:编写/root/myuseradd添加用户的脚本
1)编写脚本代码
[root@server0~]#vim /root/myuseradd
#!/bin/bash
echo "一共提供了$#个参数"
echo "用户名是$1,密码是$2"
useradd$1
Echo "$2" | passwd --stdin $1
2)添加x执行权限
[root@server0~]#chmod +x /root/myuseradd.sh
步骤二:测试/root/myuseradd脚本
1)测试添加用户bob,密码设为1234567
[root@server0~]#/root/myuseradd bob 1234567
一共提供了2个参数
用户名是bob,密码是1234567
更改用户bob的密码。
passwd:所有的身份验证令牌已经成功更新。
[root@server0~]#id bob
uid=1002(bob)gid=1002(bob)组=1002(bob)
2)测试添加用户jerry,密码设为1234567
[root@server0~]#/root/myuseradd jerry 1234567
一共提供了2个参数
用户名是jerry,密码是1234567
更改用户jerry的密码。
passwd:所有的身份验证令牌已经成功更新。
[root@server0~]#id jerry
uid=1003(jerry)gid=1003(jerry)组=1003(jerry)
最新文章
- bzoj 1179[Apio2009]Atm (tarjan+spfa)
- GoLang搞一个基本的HTTP服务
- springmvc中forward和redirect
- HDU 5285 wyh2000 and pupil (二分图着色)
- Linux下c/c++项目代码覆盖率的产生方法
- iOS之AVPlayer的简单应用
- EF 数据库迁移(Migration)
- python while循环案例
- VC++ 判断一个文件是不是快捷方式
- .NetCore Session.Redis (转载)
- BZOJ1911: [Apio2010]特别行动队(dp 斜率优化)
- 【[NOI2009]管道取珠】
- Redis全方位讲解--哨兵模式(Sentinel模式)
- equals和==方法比较(二)--Long中equals源码分析
- Google Map API 应用实例说明
- JDBC 滚动和分页
- log4go的一些改进设想
- priority_queue的运算符重载问题
- Lex与Yacc学习(六)之lex &; yacc (简单计算器程序) 运行
- LightOJ 1235 - Coin Change (IV) (折半枚举)
热门文章
- 【python】提取sql语句中的表名
- 数据挖掘入门系列教程(五)之Apriori算法Python实现
- 全球疫情统计APP图表形式展示
- 为什么 String 是 immutable 类
- SQL Prompt9 注册教程
- ElegantSnap 一个优雅的,易用的iOS/tvOS/macOS自动布局框架, 超级详细的使用教程,多视图水平等宽/垂直等高排列
- mysql事务原理及MVCC
- type=file 文件修改表单 名称不能正常回显的问题
- 实例演示:如何简化生产中的Pod安全策略?
- 不再忍受龟速 Github,你也可以试试在云开发上部署个人博客!