1#   This program is free software: you can redistribute it and/or modify
2#   it under the terms of the GNU General Public License as published by
3#   the Free Software Foundation, either version 3 of the License, or
4#   (at your option) any later version.
5#
6#   This program is distributed in the hope that it will be useful,
7#   but WITHOUT ANY WARRANTY; without even the implied warranty of
8#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9#   GNU General Public License for more details.
10#
11#   You should have received a copy of the GNU General Public License
12#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
13#
14declare -a A
15mapfile A < mapfile.data
16for (( i = 0 ; i < ${#A[@]} ; i++ )); do
17    echo -n "${A[${i}]}"
18done
19
20declare -a B
21mapfile -t B < mapfile.data
22for (( i = 0 ; i < ${#B[@]} ; i++ )); do
23    echo "${B[${i}]}"
24done
25
26mapfile -C "echo" -c 1 A < mapfile.data
27mapfile -C "echo" -c 3 A < mapfile.data
28mapfile -C "echo" -c 19 A < mapfile.data
29
30declare -a C
31mapfile -t -u 3 C 3< mapfile.data < mapfile.tests
32for (( i = 0 ; i < ${#C[@]} ; i++ )); do
33    echo "${C[${i}]}"
34done
35
36
37declare -a D
38for (( i = 0 ; i < 30; i++ )); do
39    D[${i}]="[$i] aaa"
40done
41mapfile -O 10 -t D < mapfile.data
42for (( i = 0 ; i < ${#D[@]} ; i++ )); do
43    echo "${D[${i}]}"
44done
45
46declare -a E
47for (( i = 0 ; i < 30; i++ )); do
48    E[${i}]="[$i] aaa"
49done
50mapfile -O 10 -n 5 -t E < mapfile.data
51for (( i = 0 ; i < ${#E[@]} ; i++ )); do
52    echo "${E[${i}]}"
53done
54
55${THIS_SH} ./mapfile1.sub
56
57${THIS_SH} ./mapfile2.sub
58