返回顶部
首页 > 资讯 > 精选 >shell传参
  • 477
分享到

shell传参

2023-06-06 04:06:51 477人浏览 薄情痞子
摘要

大家都知道普通的bash命令后边可以跟任意的参数,那我们自己编写的脚本是否也支持传递参数呢?答案当然是肯定的执行“vim test.sh”创建一个新的shell脚本。脚本test.sh的内容如下:#!/bin/shname=$1echo "

大家都知道普通的bash命令后边可以跟任意的参数,那我们自己编写的脚本是否也支持传递参数呢?答案当然是肯定的

执行“vim test.sh”创建一个新的shell脚本。脚本test.sh的内容如下:

#!/bin/sh

name=$1

echo "the ${name} are great man!"

给新创建的test.sh的脚本赋可执行权限,命令为“chmod +x test.sh”

执行'./test.sh "xiao wang" '命令,可以看到自己编写脚本的结果“the xiao wang are great man!”

"name=$1"中$1为系统提供的位置参数,$0代表程序的名称(./test.sh),[$1 $2...]从1开始为传递的参数。linux系统除了提供位置参数还提供内置参数,所有内置参数如下: 

$0 ----当前脚本文件名

$n ----传递给脚本或函数的参数,n是一个数字,表示第几个参数,$1表示第一个参数,$2表示第二个参数 ...

$# ----传递给脚本或函数的参数个数

$* ----传递给脚本或函数的所有参数,当它被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 ... $n"的形式输出所有参数

$@ ----传递给脚本或函数的所有参数,当它被双引号(" ")包含时,与$*稍有不同,"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数

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

下面写个小程序实践一下$* 和$@

$? ----上一个命令的退出状态,或函数的返回值,如果正常退出则返回0,反之为非0值

$$ ----当前shell进程pid,对于shell脚本,就是这些脚本所在的进程ID

$! ----上一个命令的pid

新建test.sh chmod +x test.sh 执行./test.sh "a" "b" "c" "d",观察打印结果
#!/bin/bash
echo "\$*=" $*
echo "\$@=" $@

echo "print each param from \$*" 
for var in $*
do
    echo $var
done

echo "print each param from \$@"
for var in $@
do
    echo $var
done

echo "print each param from \"\$*\""
for var in "$*"
do
    echo $var
done

echo "print each param from \"\$@\""
for var in "$@"
do
    echo $var

done

打印结果:
$*= a b c d
$@= a b c d
print each param from $*
a
b
c
d
print each param from $@
a
b
c
d
print each param from "$*"
a b c d
print each param from "$@"
a
b
c
d

--结束END--

本文标题: shell传参

本文链接: https://lsjlt.com/news/246034.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • shell传参
    大家都知道普通的bash命令后边可以跟任意的参数,那我们自己编写的脚本是否也支持传递参数呢?答案当然是肯定的执行“vim test.sh”创建一个新的shell脚本。脚本test.sh的内容如下:#!/bin/shname=$1echo "...
    99+
    2023-06-06
  • 使用shell传参并将参数传递给sql文件
    本篇文章为大家展示了使用shell传参并将参数传递给sql文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如下所示:调用代码:   sh /tmp/t.sh 20160808&...
    99+
    2023-06-09
  • shell传参并将参数传递给sql文件的方法
    如下所示: 调用代码:   sh /tmp/t.sh 20160808  echo $1 cat /tmp/t.sql | sedyLEEDe '$s/ssssss/'$1'/g' ...
    99+
    2022-06-04
    shell 传参 sql
  • Shell脚本传参数方法总结
    一、接收固定长度的参数 [root@svn shell_example]# cat params.sh #!/bin/bash #传参测试脚本 echo "My name is `basename ...
    99+
    2022-06-04
    脚本 参数 方法
  • linux如何传参数到shell脚本
    linux中传参数到shell脚本的方法:1、打开linux终端;2、在命令行中输入“vim test.sh”命令创建一个shell脚本;3、在test.sh脚本中添加传参代码;4、输入“chmod +x test.sh”命令给test.s...
    99+
    2024-04-02
  • ubuntu如何传参数到shell脚本
    ubuntu传参数到shell脚本的示例:打开终端输入以下命令创建一个shell脚本。vim test.sh脚本test.sh的内容如下:#!/bin/shname=$1echo "the ${name} are great man!"再输...
    99+
    2024-04-02
  • 如何学习Shell的参数传递
    如何学习Shell的参数传递,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。参数传递shell脚本运行可以通过参数传递到脚本 来作为自动输入参数#!/bin/ba...
    99+
    2023-06-05
  • shell怎么传带空格的参数
    在shell中传递带有空格的参数有以下几种方法:1. 用引号包裹参数:在参数中使用引号(单引号或双引号)将参数包裹起来。例如:```...
    99+
    2023-09-16
    shell
  • Shell 参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……具体实例:以下实例我们向脚本传递三个参数,并分别输出...
    99+
    2023-05-12
    Shell 参数传递 Shell 传递参数
  • Shell参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…...
    99+
    2023-05-19
    Shell 参数传递 Shell 传递参数
  • shell脚本传参中包含有空格的参数
    目录问题描述原因分析解决方案拓展传递给函数的某个参数含有空格问题描述 调用并传参数给其他shell脚本,传的参数带有空格,被调用的shell脚本只取了这个参数的第一个单词。 代码如下...
    99+
    2023-03-22
    shell脚本传参有空格 shell传递带空格的参数
  • java如何调用shell脚本传参数
    在Java中调用Shell脚本并传递参数有多种方法,以下是其中一种常见的方法:1. 使用`java.lang.Runtime`类的`...
    99+
    2023-09-15
    java
  • shell怎么调用python并传递参数
    在shell中调用Python并传递参数,可以使用以下命令:```shellpython script.py arg1 arg2``...
    99+
    2023-09-16
    shell python
  • java怎么调用shell脚本传参数
    在Java中调用shell脚本并传递参数,可以使用`ProcessBuilder`类。以下是一个示例:```javaimport j...
    99+
    2023-10-11
    java shell
  • shell脚本function传参的具体使用
    这里直接上操作来说明function 的传参 新建一个脚本 vi 1.sh #!/bin/bash function check_a { echo $2 echo $3 echo "this...
    99+
    2023-04-26
    shell function传参 shell function
  • ubuntu中怎么传参数到shell脚本
    本文小编为大家详细介绍“ubuntu中怎么传参数到shell脚本”,内容详细,步骤清晰,细节处理妥当,希望这篇“ubuntu中怎么传参数到shell脚本”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ubuntu传...
    99+
    2023-07-04
  • Shell脚本传参数的方法介绍
    本篇内容介绍了“Shell脚本传参数的方法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、接收固定长度的参数代码如下:[root@sv...
    99+
    2023-06-09
  • 怎么在Shell脚本中通过参数名传递参数
    这期内容当中小编将会给大家带来有关怎么在Shell脚本中通过参数名传递参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#!/bin/bashwhile getopts i:o:p:s...
    99+
    2023-06-09
  • Shell脚本传递参数的方法对比
    这篇文章主要介绍“Shell脚本传递参数的方法对比”,在日常操作中,相信很多人在Shell脚本传递参数的方法对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本传递参数的方法对比”的疑惑有所帮助!...
    99+
    2023-06-09
  • shell怎么通过makefile传参给c语言
    这篇文章主要介绍“shell怎么通过makefile传参给c语言”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“shell怎么通过makefile传参给c语言”文章能帮助大家解决问题。建立测试用例建立...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作