Eu defini o seguinte como somente leitura:
readonly root_command='sudo -s'
mais tarde usado em meu script como em:
exec $root_command
Minha pergunta é, talvez eu seja lento ou algo assim, mas não entendo completamente a página de manual do POSIX , como por exemplo se posso aspas simples ou tenho que aspas duplas e da mesma forma para que -p
serve a opção?
Obrigado.
Por POSIX ,
readonly
tem duas formas:readonly var
, que marca a variável shellvar
como somente leitura e pode, opcionalmente, atribuir um valor avar
(readonly var=value
).readonly -p
, que gera os nomes e valores de todas as variáveis somente leitura.Eles nunca são combinados; você usa
-p
para ver todas as variáveis somente leitura atuais oureadonly
para marcar uma variável como somente leitura (sem-p
).Ao marcar uma variável como somente leitura, você também pode atribuir um valor a ela (que será seu valor definitivamente, já que não poderá ser alterado posteriormente). É o mesmo que qualquer atribuição de variável e, como assume a forma
var=value
, ondevalue
está uma palavra, você precisa citar conforme apropriado, com as mesmas regras de sempre (aspas simples para evitar a expansão da variável, aspas duplas para permitir isso, etc. ).Observe que isso
exec $root_command
depende do valor atual de$IFS
e é melhor usar funções em vez de variáveis para armazenar comandos.