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使用特殊变量的更多相关文章

  1. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  2. Linux —— Shell编程之变量赋值和引用

    Linux的shell编程是一种非常成熟的编程语言,它支持各种类型的变量.有三种主要的变量类型:环境变量.内部变量和用户变量. 环境变量(environment variable)是系统环境的一部分, ...

  3. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  4. shell基础及变量

    一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...

  5. Linux编程 11(shell全局环境变量与局变环境变量)

    一.概述 在linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息.环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的 ...

  6. linux shell脚本之-变量极速入门与进阶(1)

    1,如果创建shell脚本? 使用任意文本编辑软件,一般为vim,创建.sh结尾的文件,在文件的最开头用 #!/bin/bash 注明shell的类型 如: ghostwu@dev:~/linux/s ...

  7. shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?

    shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...

  8. awk中使用shell的环境变量

    awk中使用shell的环境变量一:"'$var'"这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:var="test"awk 'BEGIN ...

  9. Shell 编程 (变量和条件测试)

    变量: 1 . 变量声明 直接使用变量 + 赋值 #!/bin/bash NAME='HELLO WORD' echo $NAME 使用 declare 关键字声明 declare(选项)(参数) + ...

  10. 3.1 shell简介、变量、运算符

    小知识: ipcs可以查看系统中创建的ipc进程间通信资源,例如信号量.共享内存等.示例如下: 什么是shell? shell是核心程序kernel之外的指令解析器,是一个程序,同时是一种命令语言和程 ...

随机推荐

  1. 【Python】Pyinstall打包不同尺寸ico制作

    前言 最近工作之余在学习python,用Pyinstall打包exe的时候发现图标只能在任务栏或者大图的情况下出现,其他情况还是默认图标,,,!!!∑(゚Д゚ノ)ノ 分析 查资料是因为exe在不同情况 ...

  2. 解决QQ“抱歉,无法发起临时会话,您可以 添加对方为好友以发送消息”

    很多网站,目前无法发起临时会话,自己在找网上找到教程,特分享给大家.自从2014年3月1日开始,网站上放置QQ客服代码的网站,在点击联系QQ时,以前可以正常发起临时会话的,现在提示:“抱歉,无法发起临 ...

  3. eclipse、 IDEA中字母大小写转换快捷键

    eclipse 中字母大小写切换快捷键: ctrl + shift + x     转为大写 ctrl + shift + y     转为小写 IDEA  中字母大小写切换快捷键: ctr + sh ...

  4. 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

    数据查询 例: 一.单表查询 1.定义 是指仅涉及一个表的查询 2.选择表中的若干列 查询指定列 例: 查询全部列 例: 查询经过计算的值 例: 3.选择表中的若干元组 消除取值重复的行 例: 查询满 ...

  5. AAAI 2020 | DIoU和CIoU:IoU在目标检测中的正确打开方式

    论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化.并且方法能够简单地迁移到现有的算法中带来性能的提 ...

  6. 批量redis未授权检测工具&批量redis弱口令爆破工具

    今天需要然后就百度搜索了一波,然后自己稍微改了一下: #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: 偷来 ...

  7. 《Explaining and harnessing adversarial examples》 论文学习报告

    <Explaining and harnessing adversarial examples> 论文学习报告 组员:裴建新   赖妍菱    周子玉 2020-03-27 1 背景 Sz ...

  8. 洛谷3372线段树模板题 对区间+k或者查询区间和

    #include<bits/stdc++.h> using namespace std; typedef unsigned int ui; typedef long long ll; ty ...

  9. 题解 P4344 【[SHOI2015]脑洞治疗仪】

    前言 这道题目呢,看上去很难,实际上我们可以用线段树解决这道题目. 正文 我们维护 sum.len.tag.lmax.rmax.ans. sum 就是这段区间非脑洞的个数 len 就是这段区间的长度 ...

  10. IdentityServer4源码解析_5_查询用户信息接口

    协议简析 UserInfo接口是OAuth2.0中规定的需要认证访问的接口,可以返回认证用户的声明信息.请求UserInfo接口需要使用通行令牌.响应报文通常是json数据格式,包含了一组claim键 ...