$@和$*区别

不加引号的时候没区别

#! /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. php 3.2 生成压缩文件,并下载

    public function zip_download() { $array = array( 'http://local.qki.com/site_upload/erweima/20190826/ ...

  2. 【CSS3练习】在圆上旋转的菜单

    先上效果图:就是用js计算每个小圆的位置分布到大圆的边线上,然后在让大圆旋转起来. 线上查看地址:http://dtdxrk.github.io/game/css3-demo/diffuse.html ...

  3. C#等比例缩放图片

    等比例缩放图片(C#) private Bitmap ZoomImage(Bitmap bitmap, int destHeight, int destWidth) { try { System.Dr ...

  4. windows server 2012 r2 无法安装 .net 3.5

    服务器需安装SQL 2012 ,因需安装.net3.5,没有想到2012出于安全竟然不让手动安装,对于源文件也是把控比较严,折腾了好一会儿才解决问题 有参才一下powershell等安装命令,均失败. ...

  5. Apache Shiro初认识

    Apache Shiro 一.Shiro介绍: Apache软件基金会专门针对系统中的登录.加密.权限认证.授权等等功能进行了封装,不仅仅适用于JavaWeb项目,CS架构的系统也可以使用Shiro. ...

  6. JDBC预编译statement(preparedstatement)和statement的比较、execute与executeUpdate的区别

    和 Statement一样,PreparedStatement也是用来执行sql语句的与创建Statement不同的是,需要根据sql语句创建PreparedStatement除此之外,还能够通过设置 ...

  7. BJFU——205基于顺序存储结构的图书信息表的排序

    #include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...

  8. 剑指offer66:机器人的运动范围

    1 题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器 ...

  9. django 相关配置(pycharm)

      第二步  

  10. flannel overlay网络浅析

    Flannel基于UDP的网络实现 container-1的route表信息如下(b1): default via 100.96.1.1 dev eth0 100.96.1.0/24 dev eth0 ...