Нахождение элементы в массиве в ударе

Из моего другого ответа здесь , вы могли бы сделать что-то вроде,

top -p `pgrep "java"`

0
19.04.2014, 10:26
2 ответа

Вы уже используете функцию, почему вы ограничиваете себя массивами bash, а не массивом оболочки $ @ ?

bash_array=(one two three)
set -- $bash_array
printf %s\\n "$@"
    #output
one
two
three

IFS=/ ; echo "$*" ; echo "$@"
    #output 
/one/two/three
one two three

unset IFS ; in=$* ; 

[ -n "${in#"${in%$2*}"}" ] && echo "$2 is in $@" || echo nope
    #output
two is in one two three
1
28.01.2020, 02:20

Я полагаю, что проблема связана с вашими операторами if. Похоже, что если вы используете функцию, то квадратные скобки не нужны. Пожалуйста, посмотрите это:

https://stackoverflow.com/questions/8117822/in-bash-can-you-use-a-function-call-as-a-condition-in-an-if-statement

Я полагаю, что вместо этого вам нужно сделать:

if array_contains2 $team1 "Alchemist" "Axe"; then
    echo "This is true"
fi
3
28.01.2020, 02:20

Теги

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