Skip to content

Recommend to unset associative array variable before declaration to avoid conversion #2964

Open
@pothos

Description

@pothos

For new checks and feature suggestions

  • https://www.shellcheck.net/ (i.e. the latest commit) currently gives no useful warnings about this
  • [ x I searched through https://github.com/koalaman/shellcheck/issues and didn't find anything related

Here's a snippet or screenshot that shows the problem:

#!/bin/bash
myarr="z"
declare -A myarr
myarr[a]=x
echo "${!myarr[@]}"
echo "${myarr[@]}"

This outputs

0 a
z x

because myarr is converted from a string z to having (0, z) as key-value pair

Here's what shellcheck currently says:

nothing

Here's what I wanted or expected to see:

recommendation: use 'unset' before 'declare' to avoid conversion of existing variable contents

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions