Linux shell(2)

Suzhou 等级 598 1 0

1.变量 以固定名称存放的可能变化的值,可以提高脚本的适应能力,方便脚本执行中重复使用某个值。 定义/赋值变量格式为:变量名=变量值 注意事项:若指定变量已存在,则相当于重新给变量赋值;等号两边无空格;变量名区分大小写;变量名不能以数字开头,不使用关键字和特殊字符。

[root@localhost ~]# X=1                         //定义变量X并赋值为1
[root@localhost ~]# X=Centos                    //变量X重新赋值为Linux

查看/引用变量值格式为:$变量名、echo $变量名、echo ${变量名} 查看变量值:

[root@localhost ~]# echo $X
Centos

引用变量值

[root@localhost ~]# echo $X
Centos
[root@localhost ~]# echo $X6                   

[root@localhost ~]# echo $X6.5    //小数点起到分隔作用,未定义变量X6无取值
.5
[root@localhost ~]# echo ${X}6.5               //使用{}区分易混淆变量
Centos6.5

取消变量 自定义变量的两种失效方式: --退出定义变量的shell环境,变量会自动失效 --环境内手动取消:unset变量名

[root@localhost ~]# echo $X
Centos
[root@localhost ~]# unset X
[root@localhost ~]# echo $X

2.变量种类 根据使用类型区分: Linux shell(2) (1)环境变量 Linux中环境变量涉及/etc/profile(针对所有用户)和~/.bash.profile(家目录中,针对当前用户) env命令列出所有环境变量 set命令列出所有变量 (2)位置变量 执行脚本时执行的命令行参数,格式:$n,n为序号,序号为两位数的加括号如${10} $1为第一个位置参数,即脚本后第一个参数

[root@localhost ~]# cat passwd.sh 
useradd $1 2> /dev/null
echo 123456 | passwd --stdin $1 &> /dev/null
[root@localhost ~]# id test1
id: test1: no such user
[root@localhost ~]# sh passwd.sh test1
[root@localhost ~]# id test1
uid=1002(test1) gid=1002(test1) groups=1002(test1)

$3为第3个位置参数,即脚本后第3个参数

[root@localhost ~]# cat passwd.sh 
useradd $3 2> /dev/null
echo 123456 | passwd --stdin $3 &> /dev/null
[root@localhost ~]# sh passwd.sh test test1 test2
[root@localhost ~]# id test
id: test: no such user
[root@localhost ~]# id test1
id: test1: no such user
[root@localhost ~]# id test2
uid=1002(test2) gid=1002(test2) groups=1002(test2)

(3)预定义变量 可以直接使用,不可以修改赋值 Linux shell(2)

收藏
评论区

相关推荐

Linux shell(1)
1. 免交互处理在免交互输出处理中可以使用重定向将输出内容输入到黑洞文件/dev/null中。[root@localhost ] echo password | passwd stdin user & /dev/null使用重定向输入将/root/testmail中的内容以Test mail为右键名发送给root@localhost: [root@local
Linux shell(2)
1.变量以固定名称存放的可能变化的值,可以提高脚本的适应能力,方便脚本执行中重复使用某个值。定义/赋值变量格式为:变量名变量值注意事项:若指定变量已存在,则相当于重新给变量赋值;等号两边无空格;变量名区分大小写;变量名不能以数字开头,不使用关键字和特殊字符。[root@localhost ] X1 //定义变量
MongoDB分片故障测试和解决方案
#### 一、环境 $ cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) $ uname -a Linux zhaopin-2-201 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014
MongoDB副本集故障测试和解决方案
#### 一、环境 $ cat /etc/redhat-release  CentOS Linux release 7.0.1406 (Core)  $ uname -a Linux zhaopin-2-201 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014
(转)Linux Shell系列教程之(十四) Shell Select教程
本文属于《 [Linux Shell 系列教程](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.linuxdaxue.com%2Fseries%2Flinux-shell-series%2F)》文章系列,该系列共包括以下 18 部分: 1. [Linux Shell系列教程之(
1.学习shell脚本之前的基础知识
**【****什么是****shell】** 简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。 linux发布版本(Redhat/CentOS)系统默认安装的shell叫做bash,即Bourne Again Shell,它是sh(Bourne Shell)的增
HBase0.96.x开发使用(二)
hbase shell命令 1、进入hbase shell环境: \[hbase@hadoop230 ~\]$ ./hbase shell HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase S
Linux Shell DAY6
shell脚本介绍 ========= shell脚本结构和执行 ============ date命令用法 ======== shell脚本中的变量 =========== 脚本中的逻辑判断 ======== * * * ### shell脚本介绍 shell是什么 shell是一种脚本语言 可以使用逻辑判断、循环等语法 可以自定义函数
Linux Shell脚本攻略 读书笔记
Linux Shell脚本攻略 读书笔记 ![Linux Shell脚本攻略](http://static.oschina.net/uploads/img/201401/06152959_vvLT.jpg) 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝; 最有价值的当属文本处
Linux shell编程及自动化运维实现 第1章 变量
**1.shell前言** 一,什么是shell ![Linux shell编程及自动化运维实现 第1章 变量](https://s4.51cto.com/images/blog/202009/04/29d10164c845731fba8b649d4bd9478f.png?x-oss-process=image/watermark,size_16,tex
Linux下shell脚本监控Tomcat的状态并实现自动启动
最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤。 1.编写Shell脚本monitor.sh #!/bin/sh \# func:自动监控tomcat脚本
Linux只读账号配置【转】
整个配置的命令如下(主要使用了:Linux bash受限的shell(RESTRICTED SHELL)) 步骤 #1.创建只读shell(这步可以省略) ln -s /bin/bash /bin/rbash #2.创建用户并指定用户启动执行的shell useradd -s /bin/bash readonly这步不要指
Linux基础(1)之shell
   shell作为下Linux系统中用户与内核交互的接口,用于将用户输入的命令转化为内核可以理解的指令,进而通过内核操作硬件资源,完成相应的功能。shell分为两种,图形shell和命令行shell。图形shell主要有KDE,Gnome等,命令行shell有常见的sh,zsh,csh,bash,ksh,tcsh等。    这里主介绍最常用的bash
ShellScript值传递参数
Shell传递参数 ========= ######################################摘自菜鸟教程:[http://www.runoob.com/linux/linux-shell-passing-arguments.html](https://www.oschina.net/action/GoToLink?url=http%
Shell脚本入门
**1.Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。** **Shell 既是一种命令语言,又是一种程序设计语言。** Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explore

热门文章

计算(变量)Linux shell(1)

最新文章

计算(变量)Linux shell(1)