gpt4 book ai didi

bash - 可以在 Bash 函数中本地更改 IFS 吗?

转载 作者:行者123 更新时间:2023-12-05 08:14:52 24 4
gpt4 key购买 nike

我有一个函数需要更改 IFS 的逻辑:

my_func() {
oldIFS=$IFS; IFS=.; var="$1"; arr=($var); IFS=$oldIFS
# more logic here
}

我能否在函数内将 IFS 声明为 local IFS,这样我就不必担心备份其当前值并在以后恢复?

最佳答案

它似乎如您所愿地工作。

#!/bin/bash
changeIFSlocal() {
local IFS=.
echo "During local: |$IFS|"
}
changeIFSglobal() {
IFS=.
echo "During global: |$IFS|"
}
echo "Before: |$IFS|"
changeIFSlocal
echo "After local: |$IFS|"
changeIFSglobal
echo "After global: |$IFS|"

这打印:

Before: |
|
During local: |.|
After local: |
|
During global: |.|
After global: |.|

关于bash - 可以在 Bash 函数中本地更改 IFS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50728845/

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