`
womendu
  • 浏览: 1516423 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

shell脚本的参数问题

 
阅读更多

一个简单例子

para.sh
########################
#!/bin/sh
#scriptname:para

echo "this script is call $0"
echo "$0 $1 $2"
echo "The number of positionalparameters is $#"

echo "$* is the dollar star"

echo "$@ is the dollar at"

echo " "$*" is the dollar star which has quoation marks"

echo " "$@" is the dollar at which has quoation marks"
################
[root@yqrh5u2]chmod +x para.sh
[root@yqrh5u2 rbf]# ./para.sh 1st_name 2nd_para 3rd_last
this script is call ./para.sh
./para.sh 1st_name 2nd_para
The number of positionalparameters is 3
1st_name 2nd_para 3rd_last is the dollar star
1st_name 2nd_para 3rd_last is the dollar at
1st_name 2nd_para 3rd_last is the dollar star which has quoation marks
1st_name 2nd_para 3rd_last is the dollar at which has quoation marks




Positional Parameter What It References

$0 References the name of the script,脚本的名称

$# Holds the value of the number of positional parameters,参数的个数

$* Lists all of the positional parameters,列出所有的参数

$@ Means the same as $*, except when enclosed in double quotes

"$*" Expands to a single argument (e.g., "$1 $2 $3"),

"$@" Expands to separate arguments (e.g., "$1" "$2" "$3")

$1 .. $9 References up to nine positional parameters,应用对应的参数


$* and $@ 区别,只有单他们有双引号是才有区别:
$ set 'apple pie' pears peaches

6 $ for i in $@
> do
> echo $i
> done

apple
pie
pears
peaches



7 $ set 'apple pie' pears peaches
8 $ for i in "$@" # At last!!
> do
> echo $i
> done

apple pie
pears
peaches



脚本的参数至少是1,
name=${1:?"requires an argument" }

echo Hello $name
:? 将会检验$1是否有值,加入没有,脚本退出,并且报错误信息。

分享到:
评论

相关推荐

    解决Unity不能调用shell脚本传递参数的问题

    ### 解决Unity不能调用shell脚本传递参数的问题 在Unity开发过程中,有时我们需要与操作系统进行交互,例如执行shell脚本来处理一些特定的任务。但在实际操作中,可能会遇到Unity无法正确调用shell脚本并传递参数的...

    java调用shell(包含有参数的调用)

    本文将详细解释Java如何调用Shell脚本,包括如何编写Shell脚本和在Java中如何传递参数。 首先,Shell脚本可以被看作是一系列Linux命令的集合,用于自动化执行多个命令。类似于Windows环境中的批处理文件,Shell脚本...

    向shell或者sql脚本传参或接收参数的方法

    在Shell脚本中接收参数时,可以使用位置参数或内部参数。例如,`echo "@a.sql $1"|sqlplus $1/$2`这一行命令,它通过管道符`|`将`$1`的值传递给`sqlplus`命令作为用户名,`$2`作为密码。`@a.sql`告诉`sqlplus`执行名...

    250个shell脚本

    Shell脚本是Linux/Unix操作系统中的强大工具,它允许用户编写一系列命令,形成自动化任务,以提高工作效率。本文档收集了250个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、安全防护、数据库备份等核心...

    Shell脚本编程100例

    2. **位置变量**:在Shell脚本中,`$1`、`$2`等是位置参数,分别代表脚本运行时传递的第1个、第2个参数。这里使用它们创建新用户并设置密码。 3. **定时任务与tar备份**:`cron`是一个调度服务,用于定期执行任务。...

    C语言中文网shell脚本教程

    **C语言中文网shell脚本教程** 这是一份关于Shell脚本编程的离线学习资料,包含了一系列HTML文件,旨在帮助用户深入理解并掌握Linux Shell脚本编程技术。以下是其中涉及的一些关键知识点: 1. **Shell命令的本质**...

    android系统中调用shell脚本

    7. **考虑安全性和性能**:在使用shell脚本时,一定要注意安全问题,避免执行可能导致系统不稳定或数据泄露的命令。同时,频繁的shell调用可能会消耗大量系统资源,因此要合理优化。 8. **存储脚本的位置**:通常,...

    输出执行操作和打印日志的shell脚本实例

    cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间...log_error打印shell脚本

    shell脚本大全

    在IT领域,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。"shell脚本大全"这个资源可能包含了大量的示例脚本,涵盖了各种用途和场景,...

    Linux shell 脚本 markdown文本编辑

    有关几个shell脚本的编写,如:编写一个shell脚本程序,它带一个命令行参数,这个参数是一个文件。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期...加入了自己的注释理解

    如何让Android系统或Android应用执行shell脚本

    Android 系统或 Android 应用执行 shell 脚本是 Android 开发中的一项重要技术,通过执行 shell 脚本,可以实现一些复杂的操作,例如设置网络参数、启动服务等。下面我们将介绍两种让 Android 系统或 Android 应用...

    Shell 脚本专家指南

    2. 变量和参数传递:学习在脚本中定义、使用和操作变量,以及如何通过脚本参数传递数据。 3. 控制结构:理解并能够使用条件语句(if、case)和循环结构(for、while、until)来控制脚本的执行流程。 4. 函数编写:...

    shell 脚本 实例 shell 脚本 实例

    通过学习和理解这些实例,初学者可以快速掌握Shell脚本的基本语法和技巧,进阶者则能从中汲取灵感,解决更复杂的问题。在实际工作中,熟练运用Shell脚本能够帮助我们自动化日常的运维任务,如定时备份、日志分析、...

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    shell脚本.pdf

    总的来说,这份"shell脚本.pdf"书籍应该涵盖了Shell脚本的基础知识,旨在帮助初学者快速上手,通过大量的实例学习和练习,读者将能够编写出自己的Shell脚本来解决实际问题。记得实践是检验真理的唯一标准,多写、多...

    Shell脚本实现二维码图片生成

    Shell脚本是Linux系统中的一种...总的来说,Shell脚本实现二维码图片生成是一个实用的技术,它展示了如何利用Linux命令行工具解决实际问题。无论是在旧系统的改造还是新系统的开发中,掌握这样的技能都能提高工作效率。

    高级Shell脚本编程.zip

    **高级Shell脚本编程** Shell脚本编程是Linux/Unix系统中的重要技能,它是一种用于自动化任务、管理系统和实现批处理操作的脚本语言。在Linux环境中,Bash(Bourne-Again SHell)是最常用的Shell,它扩展了原始的...

    常用shell脚本示例

    学习这些脚本实例可以帮助初学者理解Shell脚本的基本语法和工作原理,以及如何将它们应用到实际问题中。通过实践这些示例,你可以熟悉各种命令的使用,学会如何编写逻辑清晰、功能完善的脚本,提高工作效率。记住,...

    Shell脚本专家指南

    Shell脚本,作为Linux/Unix系统中的编程工具,是一种强大的自动化任务执行手段。它基于Bourne shell或者其扩展版本,如bash(Bourne-Again SHell),提供了一种编写命令行序列的方式,使用户能够创建具有复杂逻辑的...

    Shell 脚本语言入门

    Shell脚本是Unix/Linux系统中不可或缺的一部分,掌握Shell脚本可以极大地提高工作效率,解决日常运维和开发中的复杂问题。通过学习和实践,你可以利用Shell脚本来自动化重复的任务,处理大量数据,甚至构建复杂的...

Global site tag (gtag.js) - Google Analytics