gpt4 book ai didi

linux - 解析函数参数的目的是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:01 25 4
gpt4 key购买 nike

如果我这样做

#!/bin/bash

a=2
func() {
echo $a
echo $b
}

b=3
func $b

然后它打印 2\n3,而我本以为只有 3

问题

当全局变量在函数内部可用时。那么在 BASH 中解析函数参数的目的是什么?

最佳答案

Bash 不是这样工作的。您没有在函数内部使用任何参数。相反,您只是初始化了两个全局变量,您稍后会在函数中回显它们。

为了完成您需要的工作,您应该执行以下操作:

#!/bin/bash

a=2
func() {
# first argument
echo $1
# second argument
echo $2
}

b=3
func $b
func $a $b

输出:

3

2
3

关于linux - 解析函数参数的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15879606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com