$@和$*区别

不加引号的时候没区别

#! /usr/bin/bash

function print_args_at {
printf "%s\n" $@
echo $@
} function print_args_star {
printf "%s\n" $*
echo $*
} print_args_at "one" "two three" "four"
echo "*******************************************"
print_args_star "one" "two three" "four" 输出结果 one
two
three
four
one two three four
*******************************************
one
two
three
four
one two three four

加引号有区别

#! /usr/bin/bash

function print_args_at {
printf "%s\n" "$@"
echo $@
} function print_args_star {
printf "%s\n" "$*"
echo $*
} print_args_at "one" "two three" "four"
echo "*******************************************"
print_args_star "one" "two three" "four" 输出结果 one
two three
four
one two three four
*******************************************
one two three four
one two three four

#:$#变量是命令行参数或位置参数的数量

-:$-变量是传递给shell脚本的执行标志

?:$? 变量是最近一次执行的命令或shell脚本的出口状态

$:$$ 变量是shell脚本里面的进程ID。Shell脚本经常使用 $$ 变量组织临时文件名,确保文件名的唯一性。

_:$_ 变量是一个特殊的变量,在shell开始运行时,变量的初始值为shell或其执行的shell脚本的绝对路径名,之后就是最近执行的命令的最后一个选项或参数等。

!:&! 变量的值是最近运行的一个后台进程的PID

LINENO:调试用,用于显示脚本中当前执行的命令的行号。

OLDPWD:利用cd命令改换到新目录之前所在的工作目录。用法:cd $OLDPWD  (切换到之前的工作目录,和cd - 功能一样)

OPTARG:getopts命令已经处理的前一个选项参数。

OPTIND

PPID:是当前进程的父进程的PID

PWD:当前工作目录。这是一个变量,变量值等同于命令pwd的输出

RANDOM:随机数变量。每次引用这个变量会得到一个0~32767的随机数。

REPLY: read命令,如果没有被指定变量。即通过read读入的数据,如果没有对应的变量进行赋值,则可以把REPLY变量用作read命令的默认变量,接收read命令读入的参数。

SECONDS:脚本已经运行的时间(以秒为单位)

Bash基础——Shell脚本内部常用环境变量的更多相关文章

  1. 利用SHELL脚本修改当前环境变量

    转自http://www.chinaunix.net/old_jh/7/21485.html 1.背景 ---- 在日常的工作中,为了设置一大批环境变量,我们通常编辑了一个shell程序,包含了多个的 ...

  2. shell脚本中常用命令

    1           Shell中的特殊符号 1.1           $  美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值. 1.2    ...

  3. 【转】从Shell脚本内部将所有标准输出及标准错误显示在屏幕并同时写入文件的方法

    如果全部都要重定向的话每一条命令后面>>并不方便,可以这么做.在开头就声明 exec 1>>$log_file表示将脚本中所有的正确输出全部追加到$log_file,错误信息会 ...

  4. Maya 常用环境变量详解

    Maya 常用环境变量详解 前言: Maya 的环境变量让用户可以很方便的自定义 Maya 的功能. 在 Maya 的 Help 帮助文档中有专门的一个章节< Environment Varia ...

  5. 在python脚本中设置环境变量,并运行相关应用

    1. 问题 在自动化应用的时候 ,有时候环境变量与运行需要不一致.这时候有两种选择: 改变节点环境变量,使得其和运行需求保持一致: 在自动化脚本中设置环境变量,其范围只在脚本运行环境中有效. 显然,当 ...

  6. cmake 常用变量和常用环境变量查表手册

    cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定 ...

  7. shell脚本中特定符合变量的含义

    shell脚本中特定符合变量的含义: $#   传递到脚本的参数个数 $*    以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$    脚本运行的当前进程PID号 ...

  8. Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)

    I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量                env:环境变量 常用系统变量: path pwd lang home his ...

  9. 『忘了再学』Shell基础 — 22、主要的环境变量配置文件说明

    目录 1.source命令 2.Linux系统中环境变量配置文件 (1)登录时生效的环境变量配置文件 (2)/etc/profile环境变量配置文件 (3)/etc/profile.d/*.sh环境变 ...

随机推荐

  1. Flink统计当日的UV、PV

    Flink 统计当日的UV.PV 测试环境: flink 1.7.2 1.数据流程 a.模拟数据生成,发送到kafka(json 格式) b.flink 读取数据,count c. 输出数据到kafk ...

  2. build时自动清除console

    一.第一种方法 安装 babel-plugin-transform-remove-console 修改 babel.config.js 文件 let transformRemoveConsolePlu ...

  3. vi 替换命令 以及“找不到模式”解决

    转自:https://www.cnblogs.com/zfyouxi/p/5181363.html 在linux vi编辑工具中使用替换命令操作时,会出现明明有匹配查找模式的数据.却报“找不到模式”问 ...

  4. Data - 数据思维 - 下篇

    9 - 数据解读与表达 数据解读 数据解读需要选择一个基点.一个参照系,单独的一个数值往往不具备价值,它只是数字. 注意点: 关注异常值,并深究WHY? 相互验证.大胆假设.多方验证. 把握趋势或者规 ...

  5. 修正线性单元(Rectified linear unit,ReLU)

    修正线性单元(Rectified linear unit,ReLU) Rectified linear unit 在神经网络中,常用到的激活函数有sigmoid函数f(x)=11+exp(−x).双曲 ...

  6. ffmpeg.编译(20191129)

    1.一步步实现windows版ijkplayer系列文章之一——Windows10平台编译ffmpeg 4.0.2,生成ffplay - HarlanC - 博客园.html(https://www. ...

  7. e.g. i.e. etc. et al. w.r.t. i.i.d.英文论文中的缩写语

    e.g. i.e. etc. et al. w.r.t. i.i.d. 用法:, e.g., || , i.e., || , etc. || et al., || w.r.t. || i.i.d. e ...

  8. MyBatis代码生成器(maven插件方式和控制台命令运行方式)

    代码生成器的作用: 1.生成domain 2.生成mapper接口 3.生成mapper映射文件 准备工作:导入MyBatis所需要的包 第一步:在src/main/resources(必须)目录下创 ...

  9. STM32之串口波特率计算

    1.1 波特率结构框图 1.2 波特率寄存器示意图 1.3 波特率计算公式示意图 两图看出,串口波特率寄存器是一个32位,只用低16位,低16位又划分,低4位用来装小数,其他用来装整数. 波特率计算公 ...

  10. STL源码剖析——iterators与trait编程#3 iterator_category

    最后一个迭代器的相应类型就是iterator_category,就是迭代器本身的类型,根据移动特性与实行的操作,迭代器被分为了五类: Input Iterator:这种迭代器所指的对象,不允许外界改变 ...