数组 – 当使用结果填充数组时,Bash,奇怪的变量范围
发布时间:2020-12-15 18:41:20 所属栏目:安全 来源:网络整理
导读:我正在解析命令输出并将结果放入数组. 工作正常,直到退出内循环 – 输出数组为空. declare -a KEYS#-----------------------------------------------------------------------------#get_keys(){# this extracts key NAMES from log in format "timestamp k
我正在解析命令输出并将结果放入数组.
工作正常,直到退出内循环 – 输出数组为空. declare -a KEYS #-----------------------------------------------------------------------------# get_keys() { # this extracts key NAMES from log in format "timestamp keycode" $glue_dir/get_keys $ip | while read line; do echo line: $line set -- $line # $1 timestamp $2 keycode echo 1: $1 2: $2 key=(`egrep "s$2$" "$glue_dir/keycodes"`) # tested for matching '40' against 401,402 etc set -- $key # $1 key name $2 keycode KEYS+=("$1") echo key $1 echo KEYS inside loop: "${KEYS[@]}" done echo KEYS outside loop: "${KEYS[@]}" } 输出时再次运行两条输出行: line: 1270899320451 38 1: 1270899320451 2: 38 key UP KEYS inside loop: UP line: 1270899320956 40 1: 1270899320956 2: 40 key DOWN KEYS inside loop: UP DOWN KEYS outside loop: 我花了一个小时试图弄清楚这一点.请帮忙. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |