Dfx argument array

How do you encode an array as dfx argument?

PRINCIPAL="$(dfx identity get-principal)"
    dfx deploy satellite --argument "(record {
      controllers = [principal \"$PRINCIPAL\"] <---- ?????
    })"

Oh I guess vec

PRINCIPAL="$(dfx identity get-principal)"
    dfx deploy satellite --argument "(record {
      controllers = vec {principal \"$PRINCIPAL\";}
})"

Update: indeed that’s the correct way to encode array. However, worst to note that above command did not work, had to use the same workaround as Dfx encode principal - #3 by peterparker to effectively install my canister.