AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 797960
Accepted
Luke Cousins
Luke Cousins
Asked: 2016-08-20 09:29:53 +0800 CST2016-08-20 09:29:53 +0800 CST 2016-08-20 09:29:53 +0800 CST

Como verificar se um sistema baseado em unix suporta uma opção específica em um comando (mv -T)

  • 772

Estou trabalhando em um script de implantação que deseja atualizar um link simbólico atomicamente. Pretendo usar um comando como

$ ln -s new current_tmp && mv -Tf current_tmp current

(Crédito aqui para obter detalhes sobre por que isso funciona).

No entanto, nem todas as versões do mvsuportam a -Topção. Como posso determinar com segurança se um sistema oferece suporte a ele antes de usá-lo?

É uma maneira melhor do que criar um arquivo diferente e tentar mvesse arquivo usando a -Topção (e verificando se foi bem-sucedido) para que eu possa saber se o sistema atual oferece suporte a essa opção? Então posso executar o comando correto para esse sistema.

Obrigado pela ajuda.

command-line-interface mv
  • 1 1 respostas
  • 34 Views

1 respostas

  • Voted
  1. Best Answer
    HBruijn
    2016-08-20T11:40:29+08:002016-08-20T11:40:29+08:00

    Em geral você pode

    • escreva código portátil não dependendo de extensões específicas além do que todo UNIX suportará (o que é um PITA, pois apenas a opção -fe é obrigatória e existem limitações semelhantes para outros utilitários ... )-imv
    • A maioria das pessoas tem apenas uma seleção limitada de sistemas operacionais e versões e não precisa escrever scripts verdadeiramente universais, apenas determine com qual versão principal você está lidando em sua ferramenta de implantação e aja de acordo. Semelhante ao que uma ferramenta como facterjá faz por você no Puppet.
    • suponha que um recurso esteja presente e detecte o erro caso seu comando falhe (o que você deve fazer independentemente) e, em seguida, volte para uma solução alternativa.
    • verifique a string de versão de um comando com antecedência.
      Se o recurso -Tou --no-target-directoryfor específico para a versão do GNU coreutils, mvvocê pode verificar no git quando foi introduzido , localize 2004 e determine se precisa de uma versão do coreutils mais recente que a 5.2.1 lançada há doze anos. .
    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve