linux中特殊的参数变量

  1. 参数计数

特殊变量$#可以存储执行脚本时包含的命令行参数个数!

#!/bin/bash

if [ $# -ne 2 ]

then

echo Usage:input a b

else

total=$[ $1 + $2 ]

echo The total is $total

fi

[[email protected] ~]# ./test33.sh 3 4

The total is 7

****************************************************

当要获取$#参数的最后面那个参数时,可以用${!#}命令

#!/bin/bash

params=$#

echo The toal parameters is $params

echo The last parameters is ${!#}

[[email protected] ~]# ./test34.sh 3

The toal parameters is 1

The last parameters is 3

****************************************************

获取所有数据

$* 将命令行中提供的所有参数作为一个单词处理,这个单词中包含出现在命令行中的每个参数值

[email protected] 将命令行中提东的所有参数作为同一个字符串中的多个单词处理

#!/bin/bash

#testing $* and [email protected]

echo "Using the \$* method: $*"

echo "Using the \[email protected] method: [email protected]"

count=1

for parm in "$*"

do

echo "\$* Parameters #$count = $parm"

count=$[ $count + 1 ]

done

count=1

for parm in "[email protected]"

do

echo "\[email protected] Parameters #$count = $parm"

count=$[ $count + 1 ]

done

[[email protected] ~]# ./test35.sh jack tom bot luck haha

Using the $* method: jack tom bot luck haha

Using the [email protected] method: jack tom bot luck haha

$* Parameters #1 = jack tom bot luck haha

[email protected] Parameters #1 = jack

[email protected] Parameters #2 = tom

[email protected] Parameters #3 = bot

[email protected] Parameters #4 = luck

[email protected] Parameters #5 = haha

$*:看做一个单词

[email protected]:分别对待每个参数

时间: 2024-10-12 02:54:28

linux中特殊的参数变量的相关文章

linux中touch命令参数修改文件的时间戳(转)

linux中touch命令参数不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件,以下是linux中touch命令参数的使用方法: touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名) example: touch file1.txt 更新file1.txt的存取和修改时间 touch -c file1.txt 如果file1.txt不存在,不创建文件 touch -r ref_file file1.t

Linux中执行脚本参数获取

Linux中变量$[#,@,0,1,2,*,$,?]含义 $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 [email protected] 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误 区别:[email protected], $* 相同点:都

linux中修改PATH环境变量

如何修改PATH环境变量 1.1 什么是环境变量 1.linux里面哪里都可以使用,内容一般都不会发生变化 2.大写 3.PATH LANG 4.修改环境变量的时候前面要加上export 1.2 PATH含义 作用 PATH变量里面存放的是linux下面命令的位置. 1.3 linux下面运行命令的过程 ####1)输入 ls ####2) ls是否在PATH这些路径/目录中 ####3)如果有就执行 解析 ####4)如果没有则提示 command not found 1.4 模拟环境 ##1

Linux中export导入环境变量的几种方式

1.首先类似于windows中的设定系统环境变量的方式为,在/etc/profile中 export PATH=$PATH:....:... 注意间隔符为: 然后复用原来路径是$PATH的方式 2.用户级别的是修改~/.bash_profile之类的,注意桌面用户的话是不读取此环境变量的 3.shell级别的,只是在本次运行中有效 export DOMAIN_HOME="/home/middleware/weblogic1213/user_projects/domains/domain7001&

C语言中结构体参数变量的传递

c语言  结构体  函数  参数  传递 一.前言 本文中的程序实现对员工信息结构体字段赋值并打印出来的功能.该结构体的定义如下: // 员工信息结构体 typedef struct {        INT8       szEmployeeName[100];     // 员工姓名        UINT16  iEmployeeAge;                    // 员工年龄        UINT32  iEmployeeNo;                      

Linux中的umask系统变量的笔记

umask是一个系统变量,它的作用是:当文件被创建时,为文件的访问权限设定一个掩码.执行umask命令可以修改这个变量的值.它是一个由3个八进制数字组成的值.每个数字都是八进制值1.2.4的OR的操作结果.他们的具体含义见下面表格.其中三个数字分别对应着用户(user).组(group)和其他用户(other)的访问权限. 数字 取值 含义 1 0                     允许属主的任何权限 4                     禁止属主的读权限 2           

Mysql : L闪存卡linux中的内核参数设置

将 Nytro WarpDrive 加速卡配置为文件系统 本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with Unbreakable Enterprise Kernel (UEK) 操作系统的性能.这些配置步骤在 UEK 和 Oracle Linux 操作系统中均有效.以下步骤将 Nytro WarpDrive 卡为 MySQL 数据库的每个主服务器和从 服务器配置为一个文件系统.其他选项可用于加倍 Nytro WarpDrive 加速

Linux中涉及到环境变量的文件

1. 系统级 (a) /etc/profile : 在用户登录操作系统时,定制用户环境的第一个文件,应用于登录的每一个用户 ==> 该文件一般调用/etc/bash.bashrc文件 (b)/etc/environment: 登录时,使用的第二个文件,读取用户本身的profile前,设置环境文件的环境变量 ==>系统级文件,只在登陆Linux系统时生效,所以需要利用source命令或者重启系统 2. 用户级(位于家目录下) (a)~/.profile: 每个用户都可使用该文件输入专用于自己使用

Linux中top命令参数详解

top命令用法top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况. top的使用方式 top [-d number] | top [-bnp] 参数解释: -d:number代表秒数,表示top命令显示的页面更新一次的间隔.默认是5秒. -b:以批次的方式执行top. -n:与-b配合使用,表示需要进行几次top命令的输出结果. -p:指定特定的pid进程号进行观察. 在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的