linux脚本输入参数,shell 脚本 输入参数 学习

特殊变量

一般变量比较简单哈,与Java、C/C++不一样的地方在于不需要定义,直接使用即可。

例如:

#!/bin/bash

var= "wojiushimogui"

echo ${var}

需要注意的两点:

1、变量和等号之间不能有空格。

2、使用变量的时候我们只需要在变量前面加上一个美元符号$即可。好的编程风格为:将变量用大括号括起来。例如:${var}相比$var 在风格上就更好。

这篇博文主要介绍下特殊变量。感觉比较有意思。

我们先来看一个例子。

1、新建一个名为exVar.sh文件,并输入如下的内容

#!/bin/bash

echo $0

echo $1

echo $2

echo $*

echo $@

echo $#

2、运行此文件:./exVar.sh AAAA BBBB CCCC.

结果如下:

$*和$@的区别

这里有必要介绍下∗和@的区别。

$* 和$@ 都表示传递给函数或脚本的所有参数,当$*和$@不被双引号(” “)包含时,都以”$1” “$2” … “$n” 的形式输出所有参数。

但是当它们被双引号(” “)包含时,“$*” 会将所有的参数作为一个整体,以”$1$2 …$n”的形式输出所有参数;”$@” 会将各个参数分开,以”$1” “$2” … “$n” 的形式输出所有参数。

看到上面这句话可能还不太好理解$*和$@的区别,下面通过一个例子就比较清楚的可以看出这两者的区别

1、新建一个文件diff.sh,并输入如下内容:

2、运行diff.sh。

./diff.sh AAA BBB CCC结果如下:

看到上面的运行结果,再理解下下面这句话:

$* 和$@ 都表示传递给函数或脚本的所有参数

1、当$*和$@不被双引号(” “)包含时,都以”$1” “$2” … “$n” 的形式输出所有参数。

2、但是当它们被双引号(” “)包含时,“$*” 会将所有的参数作为一个整体,以”$1$2 …$n”的形式输出所有参数;”$@” 会将各个参数分开,以”$1” “$2” … “$n” 的形式输出所有参数。

1、命令替换

命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。

例如:date是linux是一个日期命令。我们在Shell编程中进行命令替换。

看一个例子:

1、新建一个testDate.sh,并输入如下内容

#!/bin/bash

DATE= `date`

echo "DATE is ${DATE}"

2、运行:./testDate.sh。

从结果中可以看到,确实进行了命令的替换。即Shell先执行命令date,将输出结果保存到了DATE变量中。

2、变量替换

变量可以替换的形式有如下几种:

下面我们来写一个小Demo

代码如下:

运行结果如下:

在运行结果中,上半部分是程序有点错误,第一个错误为:

var= "wojiushimogui"

这行代码的等号右边有一个空格。这也就告诉我们变量赋值的“=”两边都不能有空格。否则都会报错。

小结

这些内容都比较简单,比较容易理解,写这些小Demo有如下两个目的:

1、加深自己对这些知识点的理解

2、更重要的是训练自己熟悉linux系统的使用。

参考资料

总结

以上是编程之家为你收集整理的shell 脚本 输入参数 学习全部内容,希望文章能够帮你解决shell 脚本 输入参数 学习所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值