Wala akong inilagay kahit ano Malakas na palo, at ito ay habang papasok ako sa kahanga-hangang mundo ng Python nakalimutan ko ng kaunti ang tungkol sa ibang kaibigan na tumulong sa akin ng sobra 🙂
Dito inilagay ko ang isang bagay sa mga mahilig sa Bash, tulad ng sinasabi ng pamagat ... Ipakita ko sa iyo kung paano suriin kung mayroon o hindi ang isang file o folder sa system, ginagamit lamang ang: if
Lilikha kami ng isang .sh file at bibigyan ito ng mga pahintulot sa pagpapatupad, para sa ito ay sapat na upang ilagay ang sumusunod na utos sa isang terminal:
pindutin ang pagsubok.sh && chmod + x pagsubok.sh
Ang ginawa nito ay lumikha ng file (pindutin ang pagsubok.sh) at bibigyan ka rin ng mga pahintulot sa pagpapatupad (chmod + x test.sh)
Pagkatapos ay isulat natin ang mga sumusunod dito:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Ano ang ginagawa nito?
Simple 😀
Sa unang linya - » kung [-d / opt /];
Dito tinatanong namin, mayroon ba ang / opt / direktoryo? Oo direktoryo / folder, dahil ang -d nangangahulugang direktoryo o folder.
Pagkatapos kung sakaling mayroon ito mai-print namin sa terminal «Oo, mayroon ito.»(Ito ang linya 2 at 3)
Kung hindi man at / opt / ay HINDI umiiral, pagkatapos ay i-print namin «Hindi, wala ito»(Mga Linya 4 at 5)
Pagkatapos sa huling linya (numero 6) isinasara namin ang kung at iyon lang.
Gawin ang pagsubok, ipapakita sa iyo na mayroon / opt / umiiral.
Kung nais mong ipakita ko sa iyo ang iba pang teksto (ang isa na walang mayroon) baguhin / opt / para sa anumang iba pang folder na wala sa iyong system, halimbawa: / asd /
Tulad ng nakikita mo, -d tumutulong sa amin upang malaman kung mayroon ang direktoryo, ngayon din kung binago namin -d sa -f ito ay upang suriin ang pagkakaroon ng mga file (-d = direktoryo, -f = file / file)
Por ejemplo:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Narito ang listahan ng mga pagpipilian:
-d - »Suriin kung mayroon isang tiyak na direktoryo
-f - »Suriin kung mayroon isang tiyak na file
-w - »Suriin kung ang isang tiyak na file ay may mga pahintulot sa pagsusulat
-x - »Suriin kung ang isang tiyak na file ay may mga pahintulot sa pagpapatupad.
At mabuti wala nang magdagdag pa 🙂
Alam kong magiging kapaki-pakinabang at kawili-wili ito para sa mga nais magprogram sa Bash 😉
Regards
Isa pang paraan upang magawa ito nang hindi kung… kung ganon..else:
test -f /etc/hosts && elcomando
O kaya naman
test ! -f /etc/hosts && echo "no se encontró el archivo"
Atbp
Tama 😀
… O_O… Ikaw ba si Hugo, Hugo mula sa Cuba? … Gamit ang Windows8, WTF !!!
Sa gayon oo, pamilyar ako sa OS na ito at kung kailangan kong maging prangka, ang tanging bagay na nahanap kong kapaki-pakinabang ay ang tagapamahala ng kopya, kung hindi man ay personal kong nasasaktan ito, lalo na ang hybrid interface at mga application ng metro. Mas gusto ko ito kaysa sa Vista at 7 (kahit na medyo mas mahusay kaysa sa mga ito), na hindi ko rin nagustuhan. Ang tanging bagay na ginagamit ko lamang dito ay ang paglalaro ng NFS13 at Skyrim, ngunit ang OS na ito ay tumatagal ng labis na puwang na kinailangan kong tanggalin ang aking pagkahati sa Linux [snif].
Gayunpaman, para sa iyong kapayapaan ng isip, sasabihin ko sa iyo na noong isang araw kahapon ay na-download ko ang Arch ISO para sa Enero at balak kong bigyan ito ng isang maliit na pagsubok sa x86-64 na bersyon nito, sa lalong madaling makuha ko ang repo (gusto mo ba mayroon ito?). Ngayon na nakita ko na gumagamit ito ng mga naka-sign na package bilang default, nagbibigay ito sa akin ng higit na kumpiyansa na sumisid.
At sinabi din sa akin ng aking ama na magpapadala siya sa akin ng isang Sony Xperia, na nais kong gamitin upang malaman ang ilang mga programa para sa Android, na isang nakabinbing kahilingan. Kaya huminahon ka, hindi pa ako nakapunta sa madilim na panig ng puwersa, buahahahaha 😉
pagsubok ng tao
Oo naman.
Wenas! ..
Maaari naming gawin ang parehong isa .. ..pero ang direktoryo ay naipasa bilang isang parameter ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
At tinawag namin itong bilang:
./test.sh / opt /
Pagbati ..
KUNG hindi isang ikot ng xD
Ito ay nababagay sa akin tulad ng isang guwantes para sa isang script na ginagawa ko. May bisa bang gumamit ng mga wildcard? Halimbawa, upang malaman kung mayroong anumang .mp4s pagkatapos magpatakbo ng isang bagay sa kanila.
kung [-f * .mp4];
...
Oo, ganap itong may bisa ..
Kahit sa pamamagitan ng mga parameter .. "* .mp4"
Hal
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Kung tatawagin mo ito: ./test.sh * .mp4
Kung mahahanap nito ang .mp4 na mga file tinatanggal ang mga ito .. ..pero hindi nito nakalista ang mga file sa direktoryong iyon ..
Salamat sa feedback at mga tip! 🙂
Na-miss mo ang f xD
rm -rf $ 1
Ito ay mas kapanapanabik!
Kahanga-hangang !!!, Araw-araw na mas nahuhulog ako sa Linux, ang Windows ay na-relegate sa ilang madilim na sulok ng aking Hard Drive, na malapit nang mabura upang magbigay daan sa ilaw ng Linux.
Mahusay! .. ..tapos gawin ang susunod na hakbang .. at ilabas ito ..
6 buwan ang nakalipas approx. Mayroon lamang akong GNU / Linux sa lahat ng aking machine at hindi ko na kailangan pa .. ..hindi W $ .. o Wine .. ..at mas masaya ako sa ganyan .. 😉
At nahahawa ako sa aking paligid .. dahil nakikita ako ng lahat kasama ang aking Arch, mabilis, mahusay at masaya .. ..at hinihiling nila sa akin na i-install ang Linux .. ..yeah! .. 😀
Maaari mo ring suriin ang mga ito para sa iba't ibang mga extension, maaari mong gamitin ang isang bagay tulad ng
#! / bin / bash
Direktoryo = $ HOME / Mga Pag-download
kung [$ Directory]; tapos
echo "Narito ang isang Listahan ng Mga Uri ng File:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
Ang paggamit ng {} ay nagbibigay-daan sa iyo upang tukuyin ang maraming mga extension sa kasong ito, ang paggamit ng "?" , ay isang wildcard, na nagbibigay-daan sa iyo upang kumuha ng "Anumang Character".
Sana makatulong ito sa iyo
Inirerekumenda ko ang utos na hanapin ang [direktoryo] [search_pattern] –exec [utos] {} \
Hindi ito gumagana, inilagay ko ang mga file na ito sa direktoryo:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
maghanap.sh
#! / bin / bash
PATH = / tmp / TEST
cd $ ROUTE
ls -la | awk '{print »« $ 9}'
kung [[-f AB.TXT]]; tapos
echo »Ipasok ang KUNG kung mayroong anumang AB.TXT »
fi
kung [-f AB20160422.TXT]; tapos
echo "input para sa isang tukoy na file ng AB"
fi
nang mailagay ko [-f ABNagbibigay ng error ang .TXT]
nang mailagay ko [[-f AB.TXT]] ay hindi nagbibigay ng isang error ngunit hindi mahanap ang file
gagana lamang ito kapag naglagay ako ng isang tukoy na file, halimbawa:
kung [-f AB20160422.TXT]; tapos
Hindi ko ito magawang magtrabaho kasama ang mga wildcard * o?
#! / usr / bin / env bash
#.pag-encode = utf-8.
SUMASUNDAN
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1m»
NC = »\ 033 [0m»
PULA = »\ 033 [31m»
kung [! "$ 1"];
pagkatapos
echo "isang parameter ang nawawala"
lumabas sa $ EXIT_BAD
fi
cd "$ 1"
mga file = »ls -h1 $ 1»
para sa file sa $ ($ mga file); gawin
echo -e "maaari kang gumawa ng anumang bagay na may $ BOLD $ file $ nc dito"
tapos
lumabas sa $ EXIT_OK
@KZ, sabihin pa tungkol dito: "at iyon ay dahil papasok ako sa kahanga-hangang mundo ng Python"!
HAHAHAHA nah ... unti unti 🙂
Baguhan pa lamang ako kay Python, wala akong oras upang ilaan ito ng mga oras at oras, kaya't mabagal ako oo, mabagal ngunit sigurado sa aking pag-aaral 😀
Maraming salamat 😀 kahapon lang iniisip ko kung paano ito gawin.
ito sa ncurses ay mahusay 🙂
sa 1 salita ... MAHAL!
Sa loob ng mahabang panahon ay pinaperpekto ko ang isang script upang makagawa ng mga pag-download mula sa Internet, ngunit nagkaroon ako ng problema na na-download ang mga file na hiniling nito ng 1 at muli nang hindi magagawang mapatunayan ang pagkakaroon ng 1ro.
Napakagandang tuto.
Napakalaking kontribusyon, dito mula sa Chile ay pinahahalagahan.
Araw-araw higit pang LINUX kaaya-aya na sorpresa sa akin,
Mabuhay ang Libreng Software MIERDAAAA.
maglingkod para sa
suriin kung ang isang file ay mula sa isang direktoryo
Kung nais kong suriin ang pagkakaroon ng anumang file sa isang landas «/ tmp / receivers», magpatupad ng anumang utos, paano ito?
Lubos akong magpapasalamat
Regards
Mahal, at upang matukoy ng KUNG kung ang file ay buong populasyon ???. Tinanong ko ito dahil kapag pinupunan mo ang file para sa isang paghahatid, maaari itong kunin kahit na sa kalahati ng data.
Pagbati at salamat sa iyong pagtugon.
Sa tingin ko dapat ka ring magdagdag ng isang halimbawa, tulad ng "Suriin na walang" isang "file" o "direktoryo" tulad ng halimbawa
upang suriin na HINDI ito umiiral, halimbawa gumamit ng variable->
Isang Direktoryo
#! / bin / bash
Direktoryo = »$ HOME / Test Directory»
File = »$ HOME / Test File»
kung [! -d "$ Directory"]; tapos
echo "Walang $ Directory"
echo "Lumilikha ->" $ Directory "
mkdir "$ Directory"
iba
mayroon nang echo na "Directory" $ Directory
fi
kung [! -d "$ File"]; tapos
echo na "Walang file na $"
echo "Lumilikha ->" $ File "
pindutin ang "$ File"
iba
mayroon nang echo na "File" $ File
fi
kapag ginawa mo ang mkdir suriin sa ibang pagkakataon kung maaaring likhain ito ng terminal dahil maaari nitong masira ang mga bola kung ito ay isang folder bilang ugat o system hhah
Pagbati KZKG ^ Gaara isang query na gusto kong gawin upang magamit ang curl. Nais kong malaman kung paano ko gagawin mula sa console hanggang sa ping ng isang url upang makita kung ito ay magagamit halimbawa http://portal.com/directorio/archivo1.php Kung saan itatago ng file1 ang mga pagbisita sa mga IP, para sa pagsubaybay sa isang koponan na kailangan kong gawin ang pin na iyon bawat kalahating oras upang magkaroon ako ng kamalayan sa pampublikong IP dahil nagbabago ito paminsan-minsan at hindi ako makakonekta sa pamamagitan ng ssh.
Pagbati salamat sa iyo nang maaga Pagpalain ka ng Diyos.
Hi kung paano ito pupunta
Una, kailangan mong sabihin na ang variable ng IP (halimbawa) ay ang nilalaman ng file na iyon, para dito kailangan mong:
1. I-download ang file
2. Tingnan ang nilalaman nito at kunin ang IP mula doon
3. Ang IP na iyon ay ang variable
Por ejemplo:
Dito namin nai-download ang file - »wget http://portal.com/directorio/archivo1.php -o file.html
Pagkatapos ay nagtatalaga kami ng variable ng nilalaman nito: - »: $ {IP: =` cat file.html`}
.. Ipagpalagay na ang nilalaman ng file na iyon ay mayroong lamang IP, kung hindi, kakailanganin mong gumana sa grep, awk o ulo.
Kapag mayroon ka nang IP bilang isang variable, ang natitira ay ang pinakasimpleng bagay sa mundo 🙂
Kung gusto mo, sumulat sa akin sa pamamagitan ng email (kzkggaara[at]desdelinux[dot]net) Malugod kong tutulungan ka
Maraming salamat kzkggaara napaka nagpapasalamat.
Kumusta, hindi ko masyadong maintindihan ang tungkol sa computing at hindi ko alam kung ang entry na ito ay nauugnay sa problemang mayroon ako.
Magkomento ako kung sakaling basahin mo ako, kahit na ang post ay mula sa isang taon na ang nakakaraan:
Lumikha pala ng isang folder sa aking desktop upang mag-imbak ng ilang mga video. Kaya, tinanggal ko ang mga video na iyon dahil hindi ko na sila kailangan at ngayon sinasabi sa akin ng folder na ito na wala ito (kahit na nakikita ito sa aking desktop).
- Iyon ang unang problema na mayroon ako:
Hindi ko matanggal ang folder.
- Pangalawang problema at sa palagay ko mas mahalaga:
Sa pagtatangkang tanggalin ang folder, naglagay ako ng isang folder na PHOTOS. Ngayon kapag binuksan ko ang folder na "hindi umiiral" walang laman ito at wala ang mga LARAWAN.
Paano ko makukuha ang mga larawan? Nabigyan ko ang pagpipilian sa loob ng folder na "Ipakita ang mga nakatagong dokumento" ngunit ang folder na PHOTOS ay hindi lilitaw.
Sana malaman mo kung paano ito malulutas.
Salamat sa inyo.
Mayroong dalawang mga gumagamit na ang pangunahing mga: root at your_user (halimbawa ng natalia). Pareho silang may mga personal na folder. your_user in / home at root in / (root Directory). Sa pamamagitan ng pag-right click sa folder tingnan kung kanino ito kabilang. Kung ito ay ugat sa iyong file manager na gumagamit ng sudo o gksu o kdesu depende sa kapaligiran na ginagamit mo pumunta sa root Directory -> root -> Desktop at malamang mahahanap mo ang mga larawan at maaari mong tanggalin ang folder. Ang ilang mga distrito kapag hindi ikaw ang may-ari ng file o direktoryo at wala kang mga pahintulot sa pag-access ay nagsasabi sa iyo na wala ang direktoryo / file. Kung ikaw ang may-ari at hindi ka root, gawin ang pareho sa file manager na may sudo, atbp at pumunta sa root Directory -> / home -> personal_folder -> Desktop at tingnan kung ang mga larawan ay nandoon at kung maaari mong tanggalin ang folder.
Kung hindi ito gagana, makikita mo ang iba pang mga pagpipilian mula sa terminal (console).
Kumusta, kumusta ka? Gumagawa ako ng isang trabaho sa bash at nais kong malaman kung paano i-verify kung may isang direktoryo na ipinasok mula sa keyboard, halimbawa
#! / bin / bash
basahin ang ruta
# Ipasok ~ / Desktop
#Tapos susubukan kong i-navigate ang direktoryong iyon
cd $ path
# Nakukuha ko ang sumusunod na bash message: cd: ~ / Desktop: Ang file o direktoryo ay wala
Ang tanong ko, ano ang magagawa ko upang maipasok ko ito mula sa keyboard at dalhin ito bilang isang path ng direktoryo?
At paano ko malalaman kung mayroon ang isang pangkat,
mabuti Mayroon akong problema sa aking canaima kapag pinindot ko ang pindutan na cunaguaro sinasabi nito na walang file o direktoryo tulad ng gagawin nito upang malutas ang problemang iyon at ang natitira ay hindi magbubukas ng cunaguaro mangyaring salamat.
Paano mo gagawin ang kung sa BASH kung ang filename ay may puwang?
Por ejemplo:
Data ng Abril.xlsx
Upang tanungin kung mayroon ang file
Carlos, tulad nito:
kung [["$ variable" == Data \ buwan \ ng \ April.xlsx]]; pagkatapos ay echo 'match'; fi
Maaari mo ring:
kung [["$ variable" == 'Data para sa buwan ng Abril.xlsx']]; pagkatapos ay echo 'match'; fi
Isa pang pagpipilian:
[["$ Variable" == 'Data para sa April.xlsx']] && echo 'match' || echo 'ay hindi tugma'
Sa ilang madilim na lugar ng internet inirerekumenda nila ang paggamit ng [[]] sa halip na [], at kung ihahambing mo ang mga numero kung gayon: ((variable> = 3)) && echo 'variable ay mas malaki sa o katumbas ng 3' | | ang variable ng echo 'ay mas mababa sa 3'
Samakatuwid, para sa mga numero:
kung ((numero! = 4)); pagkatapos ay ang echo na "$ {number} ay hindi 4"; kung hindi man ang echo na "$ {number} ay 4"; fi
Paano ka makakagawa ng isang code upang mapatunayan kung ang direktoryo ay may isang tukoy na teksto, upang mai-edit ito.
Halimbawa:
kung (text1)
huwag gumawa
iba
baguhin ang text1 sa text2
isang katanungan, paano ito suriin bawat 15 segundo kung mayroon ang file o hindi, salamat.
Hello,
ito:
kung [-w / home / Komun / Logs / ti]; tapos
Alamin kung nakasulat ang file. Ngunit batay ito sa mga pahintulot ng gumagamit. Maaari bang magawa upang malaman kung ang grupo o ang iba pa ay may mga pahintulot?