Объявление массива [закрыто]

У демона gps есть вход, включил и использует большую сумму диска в/userdata/android-data/gps/log

, см. https://bugs.launchpad.net/canonical-devices-system-image / + ошибка/1595704 , который имеет сценарий для чистки файлов. Это фиксируется в предложенном дистанционному управлению канале и будет в ОТЕ 12.

2
задан 13.04.2020, 07:26

2 ответа

Я приведу вам полный пример:

#!/bin/bash    
array=("first item" "second item" "third" "item")

echo "Number of items in original array: ${#array[*]}" 

for ix in ${!array[*]} 
do
    printf "   %s\n" "${array[$ix]}" 
done 

arr=(${array[*]}) 
echo "After unquoted expansion: ${#arr[*]}" 

for ix in ${!arr[*]} 
do
    printf "   %s\n" "${arr[$ix]}" 
done 

arr=("${array[*]}") 
echo "After * quoted expansion: ${#arr[*]}" 

for ix in ${!arr[*]} 
do
    printf "   %s\n" "${arr[$ix]}" 
done 

arr=("${array[@]}") 
echo "After @ quoted expansion: ${#arr[*]}" 

for ix in ${!arr[*]}     
do
    printf "   %s\n" "${arr[$ix]}" 
done

Надеюсь, это поможет.

0
ответ дан 13.04.2020, 07:26
  • 1
    Просто форматирование вывода.;) – Sayed Mohd Ali 13.04.2020, 07:26
  • 2
    Просто демонстрация, как массивы работают в Bash. – Rob 13.04.2020, 07:27
  • 3
    Я имею в виду: почему printf " %s\n" "${arr[$ix]}" вместо более простого echo " ${arr[$ix]}"? И почему for ix in ${!arr[*]} вместо более интуитивного for x in "${arr[@]}" (так, чтобы можно было записать echo " $x")? – EngJon 13.04.2020, 07:27
  • 4
    Что причины printf и ${!arr[*]}? – monsterrrrr 13.04.2020, 07:28

Если вы назвали / назвали свой массив Unix, почему вы используете area2?!? Или вы объявили ранее этот массив с именем area2? Попробуйте это:

Unix=('Zero' 'One' 'Two')

echo "Unix = ${Unix[@]}"
echo "Unix[0] = ${Unix[0]}"
echo "Unix[1] = ${Unix[1]}"

И, пожалуйста, прочитайте некоторую документацию о массивах в Bash .

0
ответ дан 13.04.2020, 07:27

Теги

Похожие вопросы