O padrão diz que operadores de teste como -gt
comparam seus operandos como inteiros, mas não menciona o que deve acontecer quando as strings fornecidas não são inteiros. Portanto, o comportamento observado está totalmente correto. BTW: também é compatível com o comportamento histórico do UNIX.
/ bin / sh, claro, não está vinculado ao bash, já que o bash não é compatível com o padrão e provavelmente causaria a falha de muitos scripts.
Em 2010, com o desenvolvimento do Solaris 10, o / bin / sh foi substituído pelo ksh93 e, embora o ksh seja muito mais compatível com o Bourne Shell do que o bash, isso fez com que o Solaris não pudesse ter / e / usr em diferentes sistemas de arquivos que não era problema antes. Note que o ksh93 carrega bibliotecas dinâmicas de / usr.