Existe algum nome aceito para se referir a ~ / paths? [fechadas]

1

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

Enquanto procurava a resposta, encontrei posts que usam uma variedade de termos:

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

Mas não encontrei um termo conveniente e usado para usar os caminhos ~ / sintaxe e que podem ser usados para distingui-los de um caminho absoluto completo ou de um caminho relativo.

Por favor note que estou ciente de que ~ / caminhos são caminhos absolutos porque o shell os expande - é uma maneira conveniente de se referir a eles que eu sou depois.

    
por mattst 31.10.2016 / 23:00

1 resposta

1

~/ é apenas uma das várias " Expansões do Tilde ". As expansões de til estão particularmente associadas a shells do UNIX. Ao contrário de $HOME til, as expansões não são universalmente entendidas e podem variar shell por shell. A única semelhança é a adesão ao padrão POSIX (em sua maior parte) e, de acordo com a Wikipedia, o padrão shell POSIX é baseado em um "subconjunto estrito" do Korn Shell, um derivado do Bourne Shell. Descendentes do shell Bourne incluem notavelmente bash e zsh. Veja o que POSIX diz sobre Expansões de Til :

A "tilde-prefix" consists of an unquoted character at the beginning of a word, followed by all of the characters preceding the first unquoted in the word, or all the characters in the word if there is no . In an assignment (see XBD Variable Assignment), multiple tilde-prefixes can be used: at the beginning of the word (that is, following the of the assignment), following any unquoted , or both. A tilde-prefix in an assignment is terminated by the first unquoted or . If none of the characters in the tilde-prefix are quoted, the characters in the tilde-prefix following the are treated as a possible login name from the user database. A portable login name cannot contain characters outside the set given in the description of the LOGNAME environment variable in XBD Other Environment Variables. If the login name is null (that is, the tilde-prefix contains only the tilde), the tilde-prefix is replaced by the value of the variable HOME. If HOME is unset, the results are unspecified. Otherwise, the tilde-prefix shall be replaced by a pathname of the initial working directory associated with the login name obtained using the getpwnam() function as defined in the System Interfaces volume of POSIX.1-2008. If the system does not recognize the login name, the results are undefined.

The pathname resulting from tilde expansion shall be treated as if quoted to prevent it being altered by field splitting and pathname expansion.

Basicamente, isso significa que ~ fornece os links $ HOME e ~foo/ ao diretório de trabalho inicial do usuário foo. Grosso modo, mas nem sempre, significa o diretório home do foo. (a única exceção que posso pensar é raiz)

No BaSH eles não aderem a esse padrão para expansões de til em um poucas maneiras , nenhuma particularmente significativa. O BaSH também possui outras expansões til, link , cortesia do commenter @phk. Você pode colecionar todos!

Mas eu discordo. Se estamos falando sobre o que ~ / é chamado, não tenho certeza se você está se referindo ao termo para o próprio caminho (do formulário ~/x/y/z ) ou para os fenômenos de usar ~/ para fazer o dito caminho (ou seja, obra de arte vs arte, derivada vs diferenciação). Porque ~/ paths e ~/ expanded paths parecem se referir ao primeiro e ~/ syntax e ~/ notation ao último. Eu provavelmente estou supercomplicando, mas a linguagem é uma coisa inconstante. Por exemplo, ~/ paths enfatiza a forma dos caminhos como começando com ~/ , enquanto ~/ extended paths enfatiza a função que ~/ está executando para criar o caminho desse formulário.

De qualquer forma, você provavelmente já percebeu que

there is no accepted name

desde que todos esses termos estejam em circulação e a questão não tenha recebido a atenção oficial que conhecemos dos poderes constituídos. Ou, em outras palavras, todos esses termos são formas de descrever a mesma coisa - não rótulos concorrentes. Eles não têm nome formal, mas qualquer um que saiba um pouco de bash reconhecerá imediatamente o que eles querem dizer - e se as pessoas entenderem o que você está falando, quem se importa com o que você chama? Você pode decidir por si mesmo qual termo você gosta. Pessoalmente, eu gosto de ~/ paths , pronunciado "caminhos de barra de til" . E para se referir aos fenômenos "abreviação do caminho til-slash" . Para ser honesto, eu nem acho que eles precisam de um nome ...

    
por 01.11.2016 / 03:00