shell基础--shell特殊变量

一.变量列表

二.实验

系统:centos 7

1.特殊变量

[[email protected]~_~ day2]# cat p.sh
#!/bin/bash
echo ‘$0:‘$0
echo ‘$*:‘$*
echo ‘[email protected]:‘[email protected]
echo ‘$#:‘$#
echo ‘$1$2$3:‘ $1$2$3
[[email protected]~_~ day2]# sh p.sh a b c d
$0:p.sh
$*:a b c d
[email protected]:a b c d
$#:4
$1$2$3: abc

2.$$

[[email protected]~~ day2]# echo $$
1974

3.shift命令: 移位位置参数,重命名位置参数 $N+1、$N+2 ... 到 $1、$2 ... 如果没有给定 N,则假设为1。每次移动之后$#会少N

退出状态:

返回成功,如N 为负或者大于 $#则失败

(1).例子一,移动位置变量

[[email protected]~_~ day3]# cat r.sh
#!/bin/bash
until [ $# -eq 0 ]
do
echo "the first value is:$1 the number of values is:$#"
shift
done
[[email protected]~_~ day3]# sh r.sh 1 2 3 4 5
the first value is:1 the number of values is:5
the first value is:2 the number of values is:4
the first value is:3 the number of values is:3
the first value is:4 the number of values is:2
the first value is:5 the number of values is:1

(2).例子二,利用shift移位进行累加

[[email protected]~_~ day3]# cat s.sh
#!/bin/bash
sum=0
until [ $# -eq 0 ]
do
sum=`expr $sum + $1`
shift
done
echo "sum is:$sum"
[[email protected]~_~ day3]# sh s.sh 1 2 3 4 5
sum is:15

注意:以上的位移量都是1,位移量大于1时,输入参数个数的不同,可能会有逻辑错误。

时间: 2024-10-10 15:30:43

shell基础--shell特殊变量的相关文章

Shell基础教程--2.变量和运算符

2.变量和运算符 2.1.变量的类型 本地变量:环境变量:变量替换(显示变量):位置变量:标准变量:特殊变量: 2.2.本地变量 本地变量在用户现在的shell生命周期的脚本中使用 在命令行, LOCALTEST="test" 设置本地变量,$ echo $LOCALTEST 显示本地变量 set 命令可以查看这个shell的生命周期有哪些本地变量 readonly LOCALTEST ,就可以将LOCALTEST设置成只读的本地变量,不能再对其进行赋值操作,此时若执行如 LOCALT

Linux学习笔记(16)shell基础之Bash变量

1. 用户自定义变量 (1)变量设置规则 ① 变量名称可由字母.数字和下划线组成,但不能以数字开头: ② 变量的默认类型为字符串类型,如果要对数值运算,则必须指定变量类型为数值型: ③ 变量用等号连接值,且等号两侧不能有空格: ④ 变量的值如果有空格,需使用单引号或双引号括起: ⑤ 变量的值中,可使用"\"转义符: ⑥ 如果需要增加变量的值,可以进行变量值的叠加,不过变量需要用双引号包含,即"$变量名",或者用${变量名}包含: ⑦ 如果是把命令的结果作为变量值赋予

shell之基础概念与变量类型

静态语言:编译型语言 事先转换成可执行格式 强类型(变量) 关键字: C C++ JAVA C# 动态语言:解释型语言 on the fly 弱类型 边解释边执行 Asp.net shell PHP Python perl 面向过程 面向对象 变量:内存空间,命名 变量类型:事先确定数据的存储格式和长度 字符 数值 整型 浮点型:11,23 整型:8bit 256 0-255 溢出-->缓冲区溢出 逻辑: 布尔类型:0,1 逻辑运算:与,或,非,异或 1:真 0:假 1&0=0 0&

Linux CentOS 7 Shell基础(命令历史,管道,作业控制,变量及环境变量)

一. shell介绍 shell是一个命令解释器,提供用户和机器的交互. 支持特定语法,比如逻辑判断,循环. 每个用户都有特定的shell centos7默认shell 为bash(Bourne Agin Shell) 还用zsh,csh,ksh等 二. 命令历史history history 命令历史 history -c 清空内存缓存命令. ~/.bash_history 命令历史的存储文件 HISTSIZE=1000 默认命令历史记录1000条 /etc/profile-----HISTO

Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用

一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境       2> 练习命令历史.命令别名       3> 重定向标准输入/输出/错误输出       4> 管道操作实践 步骤: 步骤一:切换用户的Shell环境 若需要临时使用另一种Shell环境,可以直接执行对应的Shell解释器程序,比如只要执行ksh可以切换到ksh命令行环境. [[email protected] ~]# yum -y in

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4

Linux之shell基础

Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序. 我们输入的abc...24个字符是通过shell对照ASCII码翻译成二进制来让计算机识别的.我们从操作界面上输入命令,这个命令回车之后把此命令对照ASCII码翻译成指定的二进制,通过shell翻译成计算机内核能识别的二进制,然后内核调用硬件来处理,处理完之后再通过shell反馈给用户. 2)

shell基础(上)

Shell基础(上) 1.1什么是shell Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的 输入解释给操作系统.井处理各种各样的操作系统的输出结果,输出屏幕返回给用户 这种对话方式可以是 交互的方式:从键盘输入命令,通过/bin/bash的解折,可以立即得到shell的回应 非交互的方式:脚本 Shell执行命令分为两种方式 内置命令:如讲过的cd ,pwd, exit和echo等命令.当用户登录系统后,shell以及内置命令就被系统载入到内存,并且一直运行 一

Shell基础学习小结

0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本身的限制和效率问题,以下情况一般不推荐Shell: 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等). 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN 来处理). 有跨平台(操作系统)移植需求(一般使用C 或Java)