InglêsFrancêsEspanhol

favicon do OnWorks

pathchkposix - Online na nuvem

Execute pathchkposix no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando pathchkposix que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


pathchk - verifique os nomes dos caminhos

SINOPSE


Pathchk [-p] [−P] pathname...

DESCRIÇÃO


A Pathchk utilitário deve verificar se um ou mais nomes de caminho são válidos (ou seja, eles podem
ser usado para acessar ou criar um arquivo sem causar erros de sintaxe) e portátil (ou seja,
nenhum resultado de truncamento de nome de arquivo). Verificações de portabilidade mais extensas são fornecidas pelo -p
e −P opções.

Por padrão, o Pathchk utilitário deve verificar cada componente de cada pathname baseado em operando
no sistema de arquivos subjacente. Um diagnóstico deve ser escrito para cada pathname operando
que:

* É maior que {PATH_MAX} bytes (ver Pathname Variável Valores nas Definições de Base
volume de POSIX.1‐2008, )

* Contém qualquer componente com mais de {NAME_MAX} bytes em seu diretório de contenção

* Contém qualquer componente em um diretório que não é pesquisável

* Contém qualquer sequência de bytes que não é válida no diretório que o contém

O formato da mensagem de diagnóstico não é especificado, mas deve indicar o erro
detectado e o correspondente pathname operando.

Não deve ser considerado um erro se um ou mais componentes de um pathname operando não
existir, desde que um arquivo que corresponda ao nome do caminho especificado pelos componentes ausentes possa ser
criado que não viole nenhuma das verificações especificadas acima.

OPÇÕES


A Pathchk utilitário deve estar em conformidade com o volume de Definições de Base de POSIX.1‐2008, Seção
12.2, Utilidade Sintaxe orientações.

A seguinte opção deve ser suportada:

-p Em vez de realizar verificações com base no sistema de arquivos subjacente, escreva um
diagnóstico para cada pathname operando que:

* É maior que {_POSIX_PATH_MAX} bytes (ver Mínimo Valores na base
Volume de definições de POSIX.1‐2008, )

* Contém qualquer componente com mais de {_POSIX_NAME_MAX} bytes

* Contém qualquer caractere em qualquer componente que não esteja no nome do arquivo portátil
conjunto de caracteres

−P Escreva um diagnóstico para cada pathname operando que:

* Contém um componente cujo primeiro caractere é o personagem

* Está vazia

OPERANDOS


O seguinte operando deve ser suportado:

pathname Um caminho a ser verificado.

STDIN


Não usado.

INPUT ARQUIVOS


Nenhum.

MEIO AMBIENTE VARIÁVEIS


As seguintes variáveis ​​de ambiente devem afetar a execução de Pathchk:

GRANDE Forneça um valor padrão para as variáveis ​​de internacionalização que não estão definidas ou
nulo. (Veja o volume de Definições de Base de POSIX.1‐2008, Seção 8.2,
Internacionalização Variáveis a precedência das variáveis ​​de internacionalização
usado para determinar os valores das categorias de localidade.)

LC_ALL Se definido como um valor de string não vazio, substitui os valores de todos os outros
variáveis ​​de internacionalização.

LC_CTYPE Determine o local para a interpretação de sequências de bytes de dados de texto
como caracteres (por exemplo, caracteres de byte único em oposição a caracteres de bytes múltiplos em
argumentos).

LC_MESSAGES
Determine a localidade que deve ser usada para afetar o formato e o conteúdo do
mensagens de diagnóstico gravadas no erro padrão.

NLSPAT Determine a localização dos catálogos de mensagens para o processamento de LC_MESSAGES.

ASSÍNCRONO EVENTOS


Padrão.

STDOUT


Não usado.

STDERR


O erro padrão deve ser usado apenas para mensagens de diagnóstico.

SAÍDA ARQUIVOS


Nenhum.

ESTENDIDO DESCRIÇÃO


Nenhum.

SAIR STATUS


Os seguintes valores de saída devem ser retornados:

0 Todos pathname operandos passaram em todas as verificações.

> 0 Ocorreu um erro.

CONSEQUÊNCIAS OF ERROS


Padrão.

A seguinte seções e guarante que os mesmos estão informativo.

APLICAÇÃO USO


A teste O utilitário pode ser usado para determinar se um determinado nome de caminho nomeia um arquivo existente;
não dá, no entanto, qualquer indicação se algum componente do nome do caminho
foi truncado em um diretório onde o recurso _POSIX_NO_TRUNC não está em vigor. o
Pathchk o utilitário não verifica a existência do arquivo; ele realiza verificações para determinar se
um nome de caminho existe ou pode ser criado sem truncamento de componente de nome de caminho.

A nocturno opção no shell (veja o conjunto embutido especial) pode ser usado para atomicamente
crie um arquivo. Tal como acontece com todas as semânticas de criação de arquivo no volume de System Interfaces de
POSIX.1‐2008, ele garante a criação atômica, mas ainda depende de aplicativos para concordar
convenções e cooperar no uso de arquivos após sua criação.

Para verificar se um nome de caminho atende aos requisitos de portabilidade de nome de arquivo, os aplicativos
deve usar tanto o -p e −P opções em conjunto.

EXEMPLOS


Para verificar se todos os nomes de caminho em um arquivo de intercâmbio de dados importado são legítimos e
inequívoco no sistema atual:

# Esta exemplo assume que não nomes de caminho in da arquivo
# não contenho caracteres.
pax −f arquivo | sede -E 's / [^ [: alnum:]] / \\ & / g' | xargs Pathchk −−
if [ $? −eq 0 ]
então
pax −r −f arquivo
outro
eco Investigar problemas antes importador arquivos.
saída 1
fi

Para verificar se todos os arquivos na hierarquia de diretório atual podem ser movidos para qualquer sistema
em conformidade com o volume de interfaces do sistema de POSIX.1‐2008 que também suporta o pax
utilidade:

find . −exec Pathchk -p −P {} +
if [ $? −eq 0 ]
então
pax −w −f ../arquivo .
outro
eco Portátil arquivo não podes be criado.
saída 1
fi

Para verificar se um nome de caminho fornecido pelo usuário nomeia um arquivo legível e se o aplicativo pode
crie um arquivo estendendo o caminho fornecido sem truncamento e sem sobrescrever qualquer
arquivo existente:

casas $ - in
* C *) reset = "" ;;
*) redefinir = "definir + C "
conjunto −C ;;
esac
teste −r "$ path" && Pathchk "$ path.out" &&
rm "$ path.out" > "$ path.out"
if [ $? Um 0 ]; então
printf "% s: %s não encontrado or % s.out falha \
criação verifica. \ n " $0 "$ path $ path"
$ reset # Limpar da nocturno opção in casas a armadilha
# on SAIR depende on .
saída 1
fi
$ reset
EM PROCESSAMENTO < "$ path" > "$ path.out"

As seguintes suposições são feitas neste exemplo:

1. EM PROCESSAMENTO representa o código que é usado pelo aplicativo para usar $ caminho uma vez que é
verificou que $ path.out funciona como pretendido.

2. O estado do nocturno opção é desconhecida quando este código é invocado e deve ser
definido na saída para o estado em que estava quando este código foi chamado. (O redefinir variável é
usado neste exemplo para restaurar o estado inicial.)

3. Observe o uso de:

rm "$ path.out" > "$ path.out"

a. O Pathchk comando já verificou, neste ponto, que $ path.out não é
truncado.

b. Com o nocturno conjunto de opções, o shell verifica se $ path.out já não
existe antes de invocar rm.

c. Se o shell conseguiu criar $ path.out, rm remove-o para que o
aplicativo pode criar o arquivo novamente no EM PROCESSAMENTO degrau.

d. Se o EM PROCESSAMENTO etapa deseja que o arquivo já exista quando for invocado, o:

rm "$ path.out" > "$ path.out"

deve ser substituído por:

> "$ path.out"

que verifica se o arquivo ainda não existe, mas deixa $ path.out no lugar
para utilização pela EM PROCESSAMENTO.

JUSTIFICATIVA


A Pathchk O utilitário era novo para o padrão ISO POSIX-2: 1993. Isso, junto com o conjunto
−C(nocturno) opção adicionada ao shell, substitui o mktemp, validfname e crio
utilitários que apareceram nas primeiras propostas. Todos esses utilitários foram tentativas de resolver
vários problemas comuns:

* Verifique a validade (para várias definições diferentes de `` válido '') de um nome de caminho
fornecido por um usuário, gerado por um aplicativo ou importado de uma fonte externa.

* Crie um arquivo atomicamente.

* Execute várias funções de manipulação de string para gerar um nome de arquivo temporário.

A crio utilitário, incluído em uma proposta inicial, desde verificação e criação atômica
em uma única invocação do utilitário; esses são problemas ortogonais e não precisam ser agrupados
em um único utilitário. Observe que o nocturno opção também fornece uma maneira de criar um
bloqueio para sincronização de processos; uma vez que fornece um atômico crio, não há corrida
entre um teste de existência e a criação seguinte, se ela não existisse.

Ter uma função como tmpnam() no padrão ISO C é importante em muitos de alto nível
línguas. A linguagem de programação shell, no entanto, possui manipulação de strings embutida
instalações, tornando muito fácil construir nomes de arquivos temporários. Os nomes necessários
obviamente dependem do aplicativo, mas frequentemente têm uma forma semelhante a:

$ TMPDIR /abreviatura_de_aplicação$$.sufixo

Nos casos em que é provável que haja contenção por um determinado sufixo, um shell simples for or
enquanto loop pode ser usado com o shell nocturno opção de criar um arquivo sem risco de
colisões, contanto que os aplicativos que tentam usar o mesmo espaço de nome de arquivo sejam
cooperar no uso de arquivos após sua criação.

Para fins históricos, -p não verifica o uso do personagem como o
primeiro caractere em um componente do nome do caminho, ou para um vazio pathname operando.

FUTURO INSTRUÇÕES


Nenhum.

Use pathchkposix online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad