$@和$*区别

不加引号的时候没区别

#! /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. CSS控制元素背景透明度总结

    方法一:CSS3的background rgba filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColor ...

  2. Data - 数据思维 - 下篇

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

  3. Windows 下配置 ApacheBench (AB) 压力测试

    下载 http://httpd.apache.org/download.cgi 我用的是ApacheHaus. 安装服务 1. 打开apache目录下的 conf/httpd.conf,搜索并修改 L ...

  4. scau 10692 XYM-入门之道

    题目:http://paste.ubuntu.com/14157516/ 思路:判断一个西瓜,看看能不能直接吃完,如果能,就吃了.但是:如果不能,就要分成两半,就这样分割,不用以为要用到n维数组,用一 ...

  5. 第五章 模块之 shtil 、 json / pickle、importlib、collections

    5.8 shtil 高级的 文件.文件夹.压缩包 处理模块 shutil.rmtree 删除目录 import shutilshutil.rmtree(path) shutil.move 重命名:移动 ...

  6. golang之结构体结构体嵌入和匿名成员

    考虑一个二维的绘图程序,提供了一个各种图形的库,例如矩形.椭圆形.星形和轮形等几何形状.这里是其中两个的定义: type Circle struct { X, Y, Radius int } type ...

  7. Cow Brainiacs

    #include<stdio.h> int main() { ,i; scanf("%d %d",&n,&b); ;i<=n;i++) { f*= ...

  8. go select 的default

    当 select 中的其他条件分支都没有准备好的时候,`default` 分支会被执行. 为了非阻塞的发送或者接收,可使用 default 分支: select { case i := <-c: ...

  9. (转)FFMPEG类库打开流媒体的方法(需要传参数的时候)

    本文链接:https://blog.csdn.net/leixiaohua1020/article/details/14215393 使用ffmpeg类库进行开发的时候,打开流媒体(或本地文件)的函数 ...

  10. hdu 2102 a计划问题。。 双层dfs问题

    Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长 ...