Tôi đang phân tích lệnh đầu ra và đưa kết quả vào mảng.Bash, phạm vi biến lạ khi điền vào mảng với kết quả
Hoạt động tốt cho đến khi thoát khỏi vòng lặp bên trong - mảng đầu ra trống.
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[@]}"
}
Sản lượng khi agains chạy hai dòng đầu ra:
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:
tôi đã dành một giờ cố gắng để con số này ra. Hãy giúp tôi. ;-)
Cảm ơn người đàn ông, câu hỏi của bạn đã cứu tôi! cũng như câu trả lời! – Oz123