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.