Algo parecido com isto, pensei que funcionaria:
alias ls='[[ "$PWD" = "/" ]] && ls -I test ||ls'
$PWD
é o diretório de trabalho atual
&&
tem a ação a executar se pwd for /
(verificação de condição = true)
||
tem a ação a ser executada se pwd não for /
(condição check = false)
Mas depois de um teste cuidadoso acima da solução, NÃO ESTÁ FUNCIONANDO corretamente.
Por outro lado, isso funcionará bem como alternativa às funções:
alias ls='{ [[ "$PWD" == "/" ]] && a="-I tmp2" ||a=""; };ls $a '
Ou melhor ainda, semelhante a outras respostas, mas sem necessidade de função:
alias lstest='{ [[ "$PWD" == "/" ]] && set -- "-I" "tmp2" || set --; }; ls "$@"'
Possíveis flags extras e / ou caminhos completos fornecidos na linha de comando ao invocar esse alias são preservados e enviados para ls.