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)
shell使用特殊变量的更多相关文章
- Shell基础-环境变量配置文件
Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...
- Linux —— Shell编程之变量赋值和引用
Linux的shell编程是一种非常成熟的编程语言,它支持各种类型的变量.有三种主要的变量类型:环境变量.内部变量和用户变量. 环境变量(environment variable)是系统环境的一部分, ...
- Linux学习——shell编程之变量
shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...
- shell基础及变量
一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...
- Linux编程 11(shell全局环境变量与局变环境变量)
一.概述 在linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息.环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的 ...
- linux shell脚本之-变量极速入门与进阶(1)
1,如果创建shell脚本? 使用任意文本编辑软件,一般为vim,创建.sh结尾的文件,在文件的最开头用 #!/bin/bash 注明shell的类型 如: ghostwu@dev:~/linux/s ...
- shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?
shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...
- awk中使用shell的环境变量
awk中使用shell的环境变量一:"'$var'"这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:var="test"awk 'BEGIN ...
- Shell 编程 (变量和条件测试)
变量: 1 . 变量声明 直接使用变量 + 赋值 #!/bin/bash NAME='HELLO WORD' echo $NAME 使用 declare 关键字声明 declare(选项)(参数) + ...
- 3.1 shell简介、变量、运算符
小知识: ipcs可以查看系统中创建的ipc进程间通信资源,例如信号量.共享内存等.示例如下: 什么是shell? shell是核心程序kernel之外的指令解析器,是一个程序,同时是一种命令语言和程 ...
随机推荐
- go package 学习笔记 —— strconv(string与其他基本数据类型(int, float, bool)的转换)
strconv实现了go中基本数据类型与string之间的转换. How to use in go go doc:https://godoc.org/strconv import "strc ...
- Java自学路线图之Java框架自学
Java自学路线图的框架分为两个阶段,第一阶段的Java框架包含六个内容:MyBatis,Spring,SpringMVC,Maven高级,Git,Dubbo. 在Java自学过程中掌握框架的使用,对 ...
- Java反射之成员变量的反射
上一篇介绍了Java反射之构造方法反射.这次我们在说一说如何反射类中的成员变量并用作一个简单案例. [一]Field类 Filed类代表字段,包含字段拥有的所有属性,比如修饰符,变量类型,值等等,Fi ...
- linux ftp服务器设置,只允许用户访问指定的文件夹,禁止访问其他文件夹
在Linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...
- C#窗体排列方式
2020-03-11 每日一例第3天 1.设置父窗体属性:IsMdicontainer设置成true; 2.拖入menustrip控件,修改标题栏中的text文字. 3.点击“加载子窗体”设置代码: ...
- [日志分析]Graylog2采集Nginx日志 主动方式
这次聊一下Graylog如何主动采集Nginx日志,分成两部分: 介绍一下 Graylog Collector Sidecar 是什么 如何配置 Graylog Collector Sidecar 采 ...
- 判断 tableZen 是否有 横向滚动条
判断 tableZen 是否有 横向滚动条 const outWidth = this.$refs.tableInnerZen.$el.clientWidth ].$el.clientWidth
- 【学习参考】Animate.css动画演示
学习参考地址: http://www.dowebok.com/demo/2014/98/
- 关于Idea中不能使用Scanner在console
遇到了麻烦,在Idea中使用@Test运行程序时,scanner在控制台无法输入,然后来回折腾... 创建了一个新的类里面含有main方法,可以完美运行scanner: 重新回来,发现还是不行, 创建 ...
- 奇思妙想-java实现另类的pipeline模式
磕叨 在公司做项目是见到前辈们写的一端任务链的代码,大概如下 Runnable task = new TaskA(new TaskB(new TaskC(new taskD()))); task.ru ...