file = $1
executa o comando file com = como o primeiro argumento e o resultado do operador split + glob aplicado ao primeiro parâmetro do script como os argumentos restantes.
Atribuições variáveis em shells semelhantes a Bourne (como bash , ksh , zsh , ash / dash , yash ) estão com espaços não ao redor da = sign:
file=$1
file = $1 seria válido como uma atribuição em rc , es ou akanga shells. csh e tcsh têm outra sintaxe: set file = $1:q e fish usa set file $argv[1] .