배열의 값을 변경하고 싶습니다. 어떤 도움을 주셔서 감사합니다.Bash : 배열을 어떻게 자릅니다?
내가 가지고 같은 배열 : 나는 사용자가 존재하는지 테스트 할 수하고 싶습니다
users=(root isometric akau)
을 (이것은 실제로 현재 사용자의 목록입니다) 그들이하지, 그 다음에 할 경우 배열에서 사람을 제거하십시오. 내가 for 루프에 넣어 그것을 평가하여이 실험을 시도했다 :
for i in ${users[@]}; do
eval "users=($([ -z $(grep \"^\$i\" /etc/shadow) ] && sed \"s/\$i//g\"))"
done
echo $users
나는 내가 할 수있는 확실하지 않다 (I 좀 더이 가지고 노는 생각하지만 난 너무 복잡 받고있을 줄 알았는데 배열에 명령 넣기). 누구든지이 작업을 수행하는 방법에 대해 알고 있습니까?
편집 :
cnt=0
for i in ${users[@]}; do
[ -z "$(grep "^$i" /etc/shadow)" ] && unset users[cnt] || ((cnt++))
done
Edit2가 :
가 실제로 데니스의 더 나은입니다 내가 배열 변수가 설정되지 않은 번호를 입력하는 방법
.
매우 똑똑합니다. 가능하다면 독창성에 2를 더한 것입니다. 고맙습니다. –
더 자세히 보니 정말 좋습니다. 와우 –