Dessa forma, você pode iniciar o programa sem estender o caminho de pesquisa ( $PATH
) no qual o shell pesquisa binários / executáveis e também sem copiá-los no diretório /usr/bin
(ou outro diretório em $PATH
).
Isso tem pequenas vantagens de espaço (se /opt
e /usr
estiverem em partições diferentes), mas o mais importante é que o executável vinculado pode seguir o link do caminho de invocação ( /usr/bin/application_name
to /opt/folder/application_name
) e descubra onde estava parado. Isso torna possível ter algum diretório /opt/folder/data
sem ter que configurar application_name
e ainda pode encontrar esse diretório baseado em onde o executável real (encontrado através do link) é.¹
Quanto à segunda parte da sua pergunta: não há início automático de install.sh
do uso de tar
, que é apenas um nome reconhecido pelos humanos como algo que eles precisam iniciar para instalar (assim como tar
, ou qualquer outro programa de extração, também não mostrará o README.
¹ Um executável recebe seu caminho de chamada como primeiro argumento (em python para sys.argv[0]
, em C para o primeiro elemento do array char *
entregue como o segundo parâmetro para main()