Eu não coloquei nada de Bater, e ao entrar no maravilhoso mundo do Python, esqueci um pouco esse outro amigo que tanto me ajudou
Aqui coloco algo para os entusiastas do Bash, como o título diz ... Vou mostrar a vocês como verificar se existe ou não um arquivo ou pasta no sistema, apenas usando: if
Vamos criar um arquivo .sh e dar-lhe permissões de execução, para isso basta colocar o seguinte comando em um terminal:
toque test.sh && chmod + x test.sh
O que isso fez foi criar o arquivo (toque test.sh) e também dar a você permissões de execução (chmod + x test.sh)
Então vamos escrever o seguinte nele:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
O que isto?
Simples
Na primeira linha - » if [-d / opt /];
Aqui nós perguntamos, o diretório / opt / existe? Sim diretório / pasta, porque o -d significa diretório ou pasta.
Então caso exista imprimiremos no terminal «Sim, existe.»(Esta é a linha 2 e 3)
Caso contrário, e / opt / NÃO existe, imprimiremos «Não, não existe»(Linhas 4 e 5)
Então, na última linha (número 6) fechamos o if e pronto.
Faça o teste, ele mostrará que / opt / existe.
Se você quiser que eu mostre o outro texto (aquele que não existe), altere / opt / para qualquer outra pasta que não exista em seu sistema, por exemplo: / asd /
Como você pode ver, -d nos ajuda a saber se o diretório existe, bem agora se mudarmos -d para -f é para verificar a existência de arquivos (-d = diretório, -f = arquivo / arquivo)
Por exemplo:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Aqui está a lista de opções:
-d - »Verifique se existe um determinado diretório
-f - »Verifique se um determinado arquivo existe
-w - »Verifique se um determinado arquivo tem permissão de gravação
-x - »Verifique se um determinado arquivo possui permissões de execução.
E bem, não há muito mais a acrescentar
Sei que isso será muito útil e interessante para quem gosta de programar em Bash
lembranças
Outra maneira de fazer isso sem se ... então ... outra forma:
test -f /etc/hosts && elcomando
Ou também
test ! -f /etc/hosts && echo "no se encontró el archivo"
Etc.
Certo 😀
… O_O… Você é Hugo, Hugo de Cuba? … Usando Windows8, WTF !!!
Bem, sim, estou me familiarizando com este sistema operacional e, para ser franco, a única coisa que achei útil é o gerenciador de cópias, caso contrário, pessoalmente o considero uma praga, especialmente sua interface híbrida e aplicativos Metro. Gosto menos do que do Vista e do 7 (embora um pouco mais eficiente do que esses), que também não gostei. A única coisa que estou usando é para jogar NFS13 e Skyrim, mas este sistema operacional está ocupando tanto espaço que tive que deletar minha partição Linux [snif].
No entanto, para sua tranquilidade, posso dizer que anteontem baixei o ISO do Arch para janeiro e pretendo dar uma amostra de sua versão x86-64 assim que conseguir o repositório (você tem? Agora que eu vi que ele usa pacotes assinados por padrão, isso me dá mais confiança para mergulhar.
E meu pai também me disse que me mandaria um Sony Xperia, do qual quero aproveitar para aprender um pouco de programação para Android, que era um desejo pendente. Então, acalme-se, eu ainda não fui para o lado negro da força, buahahahaha
teste de homem
Claro.
Wenas! ..
Poderíamos fazer o mesmo .. ..mas o diretório é passado como parâmetro ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
E o chamamos de:
./test.sh / opt /
Cumprimento..
IF não é um ciclo xD
Isso se encaixa em mim como uma luva para um script que estou fazendo. É válido usar curingas? Por exemplo, para saber se existe algum .mp4, execute algo sobre ele.
if [-f * .mp4];
...
Sim, é totalmente válido ..
Mesmo através de parâmetros .. "* .mp4"
Por exemplo, o
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Se você o chamar de: ./test.sh * .mp4
Se encontrar arquivos .mp4, ele os apaga ... ... mas não lista os arquivos nesse diretório ...
Obrigado pelo feedback e dicas! 🙂
Você perdeu o f xD
rm -rf $ 1
Isso é mais emocionante!
Maravilhoso !!!, A cada dia me apaixono mais pelo Linux, o Windows foi relegado para algum canto escuro do meu Disco Rígido, que está prestes a ser apagado para dar lugar à luz do Linux.
Excelente! .. .. então dê o próximo passo .. e tire-o ..
6 meses atrás, aprox. Tenho apenas GNU / Linux em todas as minhas máquinas e não preciso de mais .. ..não de W $ .. ou Wine .. ..e estou mais do que feliz assim .. 😉
E estou infectando meu entorno .. já que todos me veem com meu Arch, rápido, eficiente e feliz .. ..e me pedem para instalar o Linux .. .. sim! .. 😀
Você também pode verificá-los para várias extensões, você pode usar algo como
#! / Bin / bash
Diretório = $ HOME / Downloads
if [$ Directory]; então
echo "Aqui está uma lista de tipos de arquivo:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
usar {} permite que você especifique várias extensões neste caso, o uso de "?" , é um caractere curinga, que permite escolher "Qualquer caractere".
Eu espero que você aprenda
Eu recomendo o comando find [diretório] [search_pattern] –exec [command] {} \
Não funciona, coloco estes arquivos no diretório:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / Bin / bash
CAMINHO = / tmp / TESTE
cd $ ROUTE
ls -la | awk '{imprimir »« $ 9}'
if [[-f AB.TXT]]; então
echo »Insira o IF se houver AB.TXT "
fi
if [-f AB20160422.TXT]; então
echo "entrada para um arquivo AB específico"
fi
quando coloco [-f AB.TXT] dá erro
quando coloco [[-f AB.TXT]] não dá um erro, mas não pode encontrar o arquivo
só funciona quando coloco um arquivo específico, por exemplo:
if [-f AB20160422.TXT]; então
Não consigo fazer funcionar com caracteres curinga * ou?
#! / usr / bin / env bash
#.codificação = utf-8.
CONTSTANTES
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1m»
NC = »\ 033 [0m»
VERMELHO = »\ 033 [31m»
E se [! "$ 1"];
então
echo "faltando um parâmetro"
saia $ EXIT_BAD
fi
cd "$ 1"
arquivos = »ls -h1 $ 1»
para arquivo em $ ($ files); Faz
echo -e "você pode fazer qualquer coisa com $ BOLD $ file $ nc aqui"
feito
saia $ EXIT_OK
@KZ, fale mais sobre isso: "e isso porque estou entrando no maravilhoso mundo do Python"!
HAHAHAHA nah ... pouco a pouco 🙂
Ainda sou um novato em Python, mal tenho tempo para dedicar horas e horas a ele, então sou lento sim, lento, mas seguro no meu aprendizado 😀
Muito obrigado 😀 ontem eu estava pensando em como fazer isso.
isso com ncurses é ótimo 🙂
em 1 palavra… EXCELENTE!
Por muito tempo fui aperfeiçoando um script para fazer downloads da Internet, mas me deparei com o problema de baixar os arquivos que solicitei 1 e novamente sem conseguir verificar a existência 1ro.
Muito bom tuto.
Grande contribuição, aqui do Chile é apreciada.
Cada dia mais LINUX me surpreende agradavelmente,
Viva o Software Livre MIERDAAAA.
serve para
verifique se um arquivo é de um diretório
Se eu quiser verificar a existência de algum arquivo em um caminho «/ tmp / receivers», execute algum comando, como seria?
estarei muito grato
lembranças
Prezado, e para determinar por IF se o arquivo está totalmente preenchido ???. Peço isso porque quando você está preenchendo o arquivo para uma transmissão, pode levar até com metade dos dados.
Saudações e obrigado pela sua resposta.
Bem, eu acho que você também deve adicionar um exemplo, como "Verifique se não há" um "arquivo" ou "diretório" como por exemplo
para verificar se NÃO existe, por exemplo, use uma variável->
Um diretório
#! / Bin / bash
Diretório = »$ HOME / Diretório de teste»
Arquivo = »$ HOME / Arquivo de teste»
E se [! -d "$ Directory"]; então
echo "Não há $ Directory"
echo "Criando ->" $ Directory "
mkdir "$ Directory"
outro
echo "Directory" $ Directory "já existe
fi
E se [! -d "$ Arquivo"]; então
echo "Não há $ File"
echo "Criando ->" $ File "
toque em "$ File"
outro
echo "Arquivo" $ File "já existe
fi
quando você fizer o mkdir verifique mais tarde se o terminal conseguiu criá-lo porque ele pode quebrar as bolas se for uma pasta como root ou sistema hhah
Saudações KZKG ^ Gaara uma consulta como eu faria para usar o curl. Gostaria de saber como posso fazer ping em uma url do console para ver se está disponível, por exemplo http://portal.com/directorio/archivo1.php Onde o arquivo1 vai armazenar os IPs da visita, é para monitorar uma equipe que preciso fazer aquele pin a cada meia hora para que eu fique sabendo do IP público pois muda de vez em quando e não consigo conectar por ssh.
Saudações, obrigado antecipadamente Deus os abençoe.
Olá,
Primeiro, você deve dizer que a variável IP (por exemplo) é o conteúdo desse arquivo, para isso você deve:
1. Baixe o arquivo
2. Visualize seu conteúdo e obtenha o IP de lá
3. Esse IP é a variável
Por exemplo:
Aqui nós baixamos o arquivo - »wget http://portal.com/directorio/archivo1.php -o arquivo.html
Em seguida, atribuímos seu conteúdo a uma variável: - »: $ {IP: =` cat file.html`}
.. assumindo que o conteúdo desse arquivo tem apenas o IP, senão teria que trabalhar com grep, awk ou head.
Uma vez que você já tem o IP como variável, o resto é a coisa mais simples do mundo 🙂
Se quiser, escreva para mim por e-mail (kzkggaara[at]desdelinux[ponto]net) Terei prazer em ajudá-lo
Muito obrigado kzkggaara muito grato.
Olá, não entendo muito de informática e não sei se este post tem a ver com o problema que tenho.
Comento caso você me leia, embora a postagem seja de um ano atrás:
Acontece que criei uma pasta na minha área de trabalho para armazenar alguns vídeos. Bem, apaguei esses vídeos porque não precisava mais deles e agora essa pasta me diz que eles não existem (embora estejam visíveis na minha área de trabalho).
- Esse é o primeiro problema que tenho:
Não consigo excluir a pasta.
- Segundo problema e acho mais importante:
Na tentativa de excluir a pasta, coloquei uma pasta PHOTOS. Agora quando abro a pasta que "não existe" ela está vazia e as FOTOS não estão lá.
Como posso recuperar as fotos? Dei a opção dentro da pasta "Mostrar documentos ocultos", mas a pasta FOTOS não aparece.
Espero que você saiba como isso é resolvido.
Obrigado.
Existem dois usuários que são os principais: root e your_user (natalia por exemplo). Ambos têm pastas pessoais. seu_usuário em / home e root em / (diretório raiz). Ao clicar com o botão direito na pasta, veja a quem ela pertence. Se for root com seu gerenciador de arquivos usando sudo ou gksu ou kdesu, dependendo do ambiente que você usa, vá para o diretório raiz -> root -> Desktop e provavelmente encontrará as fotos e poderá excluir a pasta. Algumas distros, quando você não é o proprietário do arquivo ou diretório e não tem permissões de acesso, informam que o diretório / arquivo não existe. Se você é o proprietário e não é root, faça o mesmo com o gerenciador de arquivos com sudo, etc e vá para o diretório raiz -> / home -> pasta_pessoal -> Desktop e veja se as fotos estão lá e se você pode excluir a pasta.
Se isso não funcionar, você terá que ver outras opções do terminal (console).
Oi como você está?
#! / Bin / bash
ler rota
#Enter ~ / Desktop
#Então tento navegar nesse diretório
cd $ path
# Recebo a seguinte mensagem bash: cd: ~ / Desktop: O arquivo ou diretório não existe
Minha pergunta é: o que posso fazer para inseri-lo no teclado e tomá-lo como um caminho de diretório?
E como posso saber se existe um grupo,
bom estou com um problema no meu canaima quando pressiono o botão cunaguaro ele diz que não existe nenhum arquivo ou diretório como faria para resolver esse problema e o resto não abre o cunaguaro por favor obrigado.
Como você faz if no BASH se o nome do arquivo contém espaços?
Por exemplo:
Dados de abril.xlsx
Para perguntar se o arquivo existe
Carlos, assim:
if [["$ variable" == Data \ month \ of \ April.xlsx]]; então echo 'match'; fi
Você também pode:
if [["$ variable" == 'Dados para o mês de abril.xlsx']]; então echo 'match'; fi
Outra opção:
[["$ Variable" == 'Dados para abril.xlsx']] && echo 'corresponde' || echo 'não corresponde'
Em algumas áreas escuras da Internet, eles recomendam usar [[]] em vez de [], e se você for comparar números, então: ((variável> = 3)) && echo 'variável é maior ou igual a 3' | | echo 'variável é menor que 3'
Portanto, para números:
if ((número! = 4)); então echo "$ {number} não é 4"; else echo "$ {number} é 4"; fi
Como fazer um código para validar se o diretório possui um texto específico, para poder editá-lo.
exemplo:
if (text1)
não fazer nada
outro
mudar texto1 para texto2
uma dúvida, como seria verificar a cada 15 segundos se o arquivo existe ou não, obrigado.
Olá,
esta:
if [-w / home / Komun / Logs / ti]; então
Descubra se o arquivo é gravável. Mas é baseado nas permissões do usuário. Isso pode ser feito para descobrir se o grupo ou os outros têm permissões?