QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 743|回复: 0

如何将传递给脚本的参数传递给另一个命令

[复制链接]
发表于 2005-3-15 20:34:03 | 显示全部楼层 |阅读模式
shell编程通常的一种任务就是为命令编写包装脚本。包装脚本中可能需要定义一些变量,或者在某个特定的命令执行前改变环境变量。在编写这些脚本时,要将传递给这个脚本的参数传递给将要执行的命令。通常下的做法就足够了:
[code:1]cmd $@[/code:1]
这种做法存在的一个问题是,如果没有任何参数传递给包装脚本,有些版本的shell就会将$@扩展为""。如果没有镇定任何参数,应该执行命令cmd,而不是cmd  "" 。 要避免这个问题,可以使用命令

[code:1]${@:+$@}[/code:1]
实际上这个是变量置换的一种形式。在这里,这个命令检查变量$@是否包含一个值。如果有,就用它置换变量$@。如果没有为脚本提供任何命令行参数,则$@的值为null,这时就不会发生变量置换。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-10-3 08:19 , Processed in 0.058005 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表