Unix / Linux - Vantagem de nomes de caminhos relativos sobre nomes de caminhos absolutos [closed]

0

Estou tentando descobrir quais são os benefícios de usar nomes de caminho relativos em relação a nomes de caminho absoluto. Eu sei o que cada um é.

Eu acho que é fácil trabalhar com nomes de caminho relativos quando temos um longo caminho até o local atual. Por exemplo - O comando mkdir:

backup do mkdir / old ---- > : caminho relativo ---- > Melhor

mkdir / home / me / backup / antigo ---- > : caminho absoluto

Mas estou tentando encontrar outra vantagem (apenas uma) para nomes de caminho relativos e não consigo encontrar.

Você poderia explicar mais sobre esse assunto?

    
por Haim 15.09.2018 / 15:46

3 respostas

1

  1. Mais rápido e fácil de digitar, com menos chance de erro
  2. Portátil (independente de local) ao criar links simbólicos
por 15.09.2018 / 16:00
1

Advantage of relative path names over absolute path names

Uma grande vantagem de caminhos relativos é acomodar o armazenamento de pacotes de distribuição ao usar um layout de sistema de arquivos padrão. Por exemplo, se um binário em /usr/bin/ precisar de dados em /usr/share/ , então DATADIR de ../share/ significa que o binário pode ser instalado em qualquer lugar e o binário pode localizar seus dados.

A situação geralmente surge em instalações em estágio usando DESTDIR . Em vez de instalar em /usr/bin ou /usr/local/bin usando BINDIR sozinho, o pacote pode estar localizado em /opt/usr/ , o que equivale a $(DESTDIR)$(PREFIX) com DESTDIR=/opt/ e PREFIX=/usr . O binário está localizado em BINDIR=/opt/usr/bin e os dados estão localizados em DATADIR=/opt/usr/bin/../share .

Veja também DESTDIR nos Padrões de Codificação GNU.

    
por 15.09.2018 / 17:00
0

Pegue o script configure de qualquer software de código aberto.

Por exemplo Se você tiver o git repo new_editor com 2 submódulos e estiver escrevendo um script de instalação para ele, não poderá escrever:

#!/bin/bash
#.........
/home/kashyap/workspaces/new_editor/module1/install.sh
/home/kashyap/workspaces/new_editor/module2/install.sh
#.........

Você deve escrever

#!/bin/bash
#.........
./module1/install.sh
./module2/install.sh
#.........
    
por 15.09.2018 / 16:50

Tags