Existe um nome aceito para se referir a ~/ paths?

Existe um nome aceito para se referir a ~/ paths?

Existe um nome aceito para se referir ao diretório inicial ~/paths?

Enquanto procurava a resposta, encontrei postagens que usam vários termos:

  • ~/sintaxe
  • ~/ caminhos
  • ~/ caminhos expandidos
  • ~/ notação

Mas não consegui encontrar nenhum termo conveniente e usado de forma consistente para usar para caminhos de sintaxe ~/ e que possa ser usado para distingui-los de um caminho absoluto completo ou de um caminho relativo.

Observe que estou ciente de que ~/ paths são caminhos absolutos porque o shell os expande - é uma maneira conveniente de me referir a eles que estou procurando.

Responder1

~/é apenas um dos vários mágicos "Expansões Til". As expansões de til estão particularmente associadas aos shells UNIX. Ao contrário $HOMEdas expansões de til, não são universalmente compreendidas e podem variar de shell para shell. O único ponto em comum é a adesão ao padrão POSIX (na maior parte) e, de acordo com a Wikipedia, o padrão de shell POSIX é baseado em um "subconjunto estrito" do Korn Shell, um derivado do Bourne Shell. Os descendentes do Bourne Shell incluem notavelmente bash e zsh.Aqui está o que o POSIX diz sobre expansões Tilde:

Um "prefixo til" consiste em um caractere sem aspas no início de uma palavra, seguido por todos os caracteres que precedem o primeiro caractere sem aspas da palavra, ou todos os caracteres da palavra, se não houver. Em uma atribuição (consulte Atribuição de variável XBD), vários prefixos de til podem ser usados: no início da palavra (ou seja, após o da atribuição), após qualquer til sem aspas ou ambos. Um prefixo til em uma atribuição é finalizado pelo primeiro ou sem aspas. Se nenhum dos caracteres do prefixo de til estiver entre aspas, os caracteres do prefixo de til após serão tratados como um possível nome de login do banco de dados do usuário. Um nome de login portátil não pode conter caracteres fora do conjunto fornecido na descrição da variável de ambiente LOGNAME em Outras Variáveis ​​de Ambiente XBD. Se o nome de login for nulo (ou seja, o prefixo de til contém apenas o til), o prefixo de til será substituído pelo valor da variável HOME. Se HOME não estiver definido, os resultados não serão especificados. Caso contrário, o prefixo til deve ser substituído por um nome de caminho do diretório de trabalho inicial associado ao nome de login obtido usando a função getpwnam() conforme definido no volume System Interfaces de POSIX.1-2008. Se o sistema não reconhecer o nome de login, os resultados serão indefinidos.

O nome do caminho resultante da expansão do til deve ser tratado como se estivesse entre aspas para evitar que seja alterado pela divisão de campo e expansão do nome do caminho.

Basicamente, isso significa ~fornecer $HOME e ~foo/links para odiretório de trabalho inicialdo usuário foo. Aproximadamente, mas nem sempre, significando o diretório inicial de foo. (a única exceção que consigo pensar é root)

No BaSH eles não aderem a esse padrão para expansões de til emalgumas maneiras, nenhum particularmente significativo. BaSH também tem outras expansões divertidas de til,linkcortesia do comentarista @phk. Você pode coletar todos eles!


Mas eu discordo. Se estamos falando sobre como ~/ é chamado, não tenho certeza se você está se referindo ao termo para o caminho em si (da forma ~/x/y/z) ou para o fenômeno de usar ~/para fazer o caminho (ou seja, obra de arte vs arte , derivada vs diferenciação). Porque ~/ pathse ~/ expanded pathsparecem referir-se ao primeiro e ~/ syntaxao ~/ notationúltimo. Provavelmente estou complicando demais, mas a linguagem é uma coisa inconstante. Por exemplo ~/ paths, enfatiza a forma dos caminhos começando com ~/, enquanto ~/ extended pathsenfatiza a função ~/que está sendo executada para criar o caminho desse formulário.

De qualquer forma, agora você provavelmente já percebeu que

não há nome aceito

uma vez que todos esses termos estão em circulação e o assunto não recebeu a atenção oficial que conhecemos dos poderes constituídos. Ou, dito de outra forma, todos esses termos são formas de descrever a mesma coisa – e não rótulos concorrentes. Eles não têm nome formal, mas qualquer pessoa que conheça um pouco de bash reconhecerá imediatamente o que eles significam - e se as pessoas entenderem do que você está falando, quem se importa com o que você chama? Você pode decidir por si mesmo qual termo deseja. Pessoalmente eu gosto ~/ paths, pronunciado"caminhos de barra de til". E para se referir aos fenômenos"abreviação de caminho til-barra". Para ser sincero, acho que eles nem precisam de um nome...

informação relacionada