shell 的变量
一、自定义变量
1、字母或者下划线开头,由字母、数字、下划线组成,大小写敏感,在使用变量时,要在变量前加上前缀 $,一般变量由大写字母表示,并且英文开头,"=" 两边应没有空格。如 NUM=9、STR="hello"
2、可以将一个命令的执行结果复制给变量,但是需要命令替换符号( 命令替换符是 Tab 键的上面那一个键。例:A1=`ls -l`,此时就把 ls -l 的执行结果给了 A1 这个变量。)。
3、双引号和单引号的区别:" " 号是会把里面的变量复制进行输出( 也就是说双引号会识别里面的变量 ),' ' 号是会把内容原封不动的输出,不会识别里面的变量
4、使用 set 命令查看所有变量
5、使用 unset 命令删除指定的变量
二、占位变量
在 Shell 里面有两种特殊的变量,一种是位置变量,一种是特殊变量,在编写 Shell 的时候十分常用。
1、位置变量
Shell 脚本代码如下,其中 $1 和 $2 相当于两个占位符。运行该脚本时要给两个参数来替换这两个占位符。( 一个脚本最多 9 个占位符 )
#!/bin/sh
/bin/ls -l $1
/bin/ls -l $2 执行脚本,两个参数分别为 /test1 和 /test2,用空格分开
sh hello.sh /test1 /test2
三、特殊变量
1、$* :本程序的所有参数
2、$# :本程序的参数个数
3、$$ :本程序的 PID
4、$! :上一个后台命令的 PID
5、$? :上一个命令的返回值
6、$(0-9) :显示指定下标的位置变量
shell 的变量的更多相关文章
- shell与变量的声明的操作
1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更 ...
- shell之变量与read
环境变量 set 环境变量可供shell以外的程序使用 shell变量 env shell变量仅供shell内部使用 set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell ...
- 【Linux】之shell特殊变量整理
目录 1. 特殊变量列表 2. 特殊说明 在shell中变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即p ...
- (转载)shell变量基础—shell自定义变量
(转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...
- shell基础——变量定义
快速参考: 变量定义格式: 变量名=值 str1="hello world" # define a string var str2=hello # define a string ...
- shell的变量处理
shell的变量处理 一.删除 删除(删除某一段) # 从前向后删除 % 从后向前删除 删除(删除某一部分) $(var:nu1:nu2) nu1表示开始位置 nu2表示删除长度 示例如下 file= ...
- shell 环境变量的相关配置文件和配置方法
shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...
- Linux编程 12 (默认shell环境变量, PATH变量重要讲解)
一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash shell支持的Bourne变量 Bo ...
- shell模板变量替换
我们经常使用一些模板语言来处理一些变量替换.比如jsp,php,velocity,freemarker,thymeleaf等.那对于shell来说,应该怎样替换变量呢.有一种很简单的办法可以做到. 先 ...
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
随机推荐
- NEFU 84
其实同POJ 1061 #include <iostream> #include <cstdio> #include <cstring> #include < ...
- Hibernate单向关联N-N
单向N-N关联必须使用连接表. Company实体: package com.ydoing.hibernate5; import java.util.HashSet; import java.util ...
- Spring+MyBatis双数据库配置
Spring+MyBatis双数据库配置 近期项目中遇到要调用其它数据库的情况.本来仅仅使用一个MySQL数据库.但随着项目内容越来越多,逻辑越来越复杂. 原来一个数据库已经不够用了,须要分库分表.所 ...
- unity3d教程运行物理机制
首先,我们将把Hooke定律写Euler方法结合在一起找到新坐标.加速和速度. Hooke定律是F=kx,这里的F是指由水流产生的力(记住,我们将把水体表面模拟为水流),k是指水流的常量.x则是位移. ...
- cocos2d 3.3 lua 代码加密 luac
1.0 cocos luacompile 使用方法 我用的普通的cocos2d lua,没用quick,quick好像能够对整个资源包含图像和音频都加密,打包成zip.我看了下luacompile 的 ...
- UVA 11426 - GCD - Extreme (II) 欧拉函数-数学
Given the value of N, you will have to find the value of G. The definition of G is given below:G =i< ...
- 利用机器学习进行DNS隐蔽通道检测——数据收集,利用iodine进行DNS隐蔽通道样本收集
我们在使用机器学习做DNS隐蔽通道检测的过程中,不得不面临样本收集的问题,没办法,机器学习没有样本真是“巧妇难为无米之炊”啊! 本文简单介绍了DNS隐蔽通道传输工具iodine,并介绍如何从iodin ...
- 【IOI 2011】Race
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2599 [算法] 点分治 [代码] #include<bits/stdc++.h ...
- ThinkPHP5+Redis单例型购物车
<?php /** * Redis + 单例型购物车 * param $basket 存储商品信息 * param $ins 存储实例化对象 */ namespace lib; use redi ...
- JavaScript组成部分——ECMAScript、DOM、BOM、
1.JavaScript组成部分 虽然 JavaScript 和 ECMAScript 通常被人们用来表达相同的含义,但 JavaScript 的含义却比ECMA-262标准中规定的要多得多. 一个完 ...