A citação está desativada. Em vez disso, tente usar ""
para conter ''
(embora ""
interpola $variables
, o que você pode ou não querer)
alias="submit -n 72 -x '--mail-type=END -N2'"
Ou use o truque '\''
para "finalizar a cota simples atual, inserir uma citação literal e reiniciar a cota simples atual". Ou seja, qualquer '
interno é substituído por '\''
alias='submit -n 72 -x '\''--mail-type=END -N2'\'''
Veja como eu verifiquei se a citação produzia uma única string ininterrupta e não duas palavras como a sua:
# not ok, two distinct words
$ perl -E 'say for @ARGV' 'submit -n 72 -x '--mail-type=END -N2''
submit -n 72 -x --mail-type=END
-N2
# ok, a single string
$ perl -E 'say for @ARGV' 'submit -n 72 -x '-N2''
submit -n 72 -x -N2
$
# ok, single quotes within doubles
$ perl -E 'say for @ARGV' "submit -n 72 -x '--mail-type=END -N2'"
submit -n 72 -x '--mail-type=END -N2'
# ok, '\'' trick
$ perl -E 'say for @ARGV' 'submit -n 72 -x '\''--mail-type=END -N2'\'''
submit -n 72 -x '--mail-type=END -N2'
$
Quanto a foo='submit -n 72 -x '-N2''
, isto é não aninhado; aspas no unix não aninham, é por isso que os shells têm $(cmd ... $(cmd ...))
em vez de tentar descobrir como aninhar isso usando apenas backticks. foo='submit -n 72 -x '-N2''
é uma maneira mais detalhada e complicada de dizer foo='submit -n 72 -x '-N2
ou simplesmente mais foo='submit -n 72 -x -N2'
.