【发布时间】:2017-07-04 04:43:47
【问题描述】:
我对 shell 很陌生。我需要从 shell 函数返回多个值,这就是为什么我将参数作为参数发送给函数,就像我们在 C 等编程语言中使用指针所做的那样。 我正在调用这样的函数
splitDate $date day month year
这里的日月和年是我要存储值的变量。 我的函数定义是这样的
splitDate(){
export IFS="/"
declare -a var
index=0
for word in $1; do
var[ $index ]=$word
((index++))
done
$2=${var[0]}
$3=${var[1]}
}
当我运行它时,我收到此错误“day=theValueIWant: command not found”&“month=theValueIWant: command not found” 这里有什么问题? 测试用例:如果我提供 04/05/2017 作为日期 我希望日存储 04,月存储 05,年存储 2017
【问题讨论】:
-
您能否提供一个具有实际值的可验证示例?输入和预期输出?
-
你确定这就是你想要的吗?将输出打印为一系列标记,以便您可以使用
set --将其捕获到变量中,或者任何可能更适合外壳整体设计的变量。