Kuring henteu nempatkeun nanaon Bash, sareng éta nalika kuring lebet kana dunya Python anu saé kuring parantos hilap sakedik ngeunaan rerencangan anu sanés anu ngabantosan pisan ieu
Di dieu kuring nempatkeun sababaraha hal pikeun peminat Bash, sakumaha judulna ... Kuring bakal nunjukkeun anjeun cara mariksa naha atanapi henteu aya file atanapi folder dina sistem, ngan ukur ngagunakeun: if
Kami badé ngadamel file .sh sareng masihan ijin éksékusi, pikeun ieu cukup pikeun nempatkeun paréntah ieu dina terminal:
tés touch.sh && chmod + x test.sh
Ieu anu anjeunna lakukeun nyaéta nyiptakeun file (tés toél.sh) sareng ogé masihan anjeun idin palaksanaan (chmod + x test.sh)
Maka hayu urang nyerat ieu di dieu:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Naon ieu?
Basajan 😀
Dina garis kahiji - » upami [-d / opt /];
Di dieu urang naros, naha diréktori / opt / aya? Leres diréktori / folder, sabab dina -d hartosna diréktori atanapi folder.
Maka upami éta aya urang bakal nyetak dina terminal «Leres, éta memang aya.»(Ieu garis 2 sareng 3)
Upami teu kitu sareng / opt / TEU aya, maka kami bakal nyetak «Henteu aya»(Garis 4 sareng 5)
Teras di garis pamungkas (nomer 6) urang tutup upami sareng éta waé.
Ngalakukeun tés, éta bakal nunjukkeun yén / opt / memang aya.
Upami anjeun hoyong kuring nunjukkeun téks anu sanés (anu teu aya) robih / pilih / kanggo folder sanés anu teu aya dina sistem anjeun, contona: / asd /
Sakumaha anjeun tiasa tingali, -d ngabantosan kami pikeun terang upami diréktori aya, ogé ayeuna upami urang ngarobih -d ka -f nyaéta pikeun mariksa ayana file (-d = diréktori, -f = file / file)
Contona:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Ieu daptar pilihan:
-d - »Pariksa naha aya diréktori tangtu aya
-f - »Pariksa naha aya file anu tangtu
-w - »Pariksa naha file anu tangtu ngagaduhan ijin nyerat
-x - »Pariksa naha file tangtu ngagaduhan ijin palaksanaan.
Sareng ogé teu langkung seueur kanggo nambihan 🙂
Kuring terang ieu bakal mangpaat pisan sareng pikaresepeun pikeun anu resep program di Bash 😉
Wasalam
42 koméntar, tinggalkeun anjeun
Cara séjén pikeun ngalaksanakeunana tanpa upami… maka..dugikeun:
test -f /etc/hosts && elcomando
Atanapi ogé
test ! -f /etc/hosts && echo "no se encontró el archivo"
Jst.
Leres 😀
… O_O… Naha anjeun Hugo, Hugo ti Kuba? … Ngagunakeun Windows8, WTF !!!
Leres enya, kuring nuju kenal sareng OS ieu sareng upami kuring kedah terang-terangan, hiji-hijina hal anu kuring mendakan gunana nyaéta manajer salinan, upami sanés kuring sacara pribadi nyeri, utamina antar muka hibridna sareng aplikasi metro. Kuring resep kirang ti Vista sareng 7 (sanaos rada épisién ti ieu), anu kuring henteu resep ogé. Hiji-hijina hal anu kuring anggo pikeun nyaéta maén NFS13 sareng Skyrim, tapi OS ieu nyandak seueur rohangan anu kuring kedah mupus partisi Linux abdi [snif].
Nanging, pikeun katenangan anjeun, kuring bakal nyaritakeun yén dinten anu kamari kamari kuring ngaunduh Arch ISO pikeun Januari sareng kuring rencanakeun pikeun masihan sakedik uji dina vérsi x86-64 na, pas kuring nampi repo (bakal anjeun gaduhna?). Ayeuna nalika kuring ningali éta nganggo paket anu ditandatanganan sacara standar, éta masihan kuring langkung percaya diri pikeun teuleum.
Sareng bapak kuring ogé ngawartosan yén anjeunna bakal ngintunkeun kuring Sony Xperia, anu kuring hoyong mangpaatkeun pikeun diajar sababaraha program pikeun Android, anu mangrupikeun kahoyong anu ditunggu-tunggu. Janten tenang, abdi teu acan angkat ka sisi gelap tanaga, buahahahaha 😉
tés lalaki
Pasti.
Wenas! ..
Urang tiasa ngadamel anu sami .. ..tapi diréktori dikaluarkeun salaku parameter ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Sareng urang nyebatna salaku:
./test.sh / opt /
Salam ..
IF sanes siklus xD
Éta cocog sareng kuring sapertos sarung tangan pikeun skrip anu kuring lakukeun. Naha valid ngagunakeun kartu liar? Salaku conto, pikeun milarian terang upami aya .mp4s teras lumpatkeun naon-naon.
upami [-f * .mp4];
...
Leres, éta leres-leres valid ..
Bahkan ngalangkungan parameter .. "* .mp4"
Contona,
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Upami anjeun nyauran: ./test.sh * .mp4
Upami mendakan file .mp4 éta ngahapus .. .. tapi henteu daptar file dina diréktori éta ..
Hatur nuhun kana tanggapan sareng kiat! 🙂
Anjeun lasut f xD
rm -rf $ 1
Ieu langkung pikaresepeun!
Éndah !!!, Saban poé kuring langkung bogoh ka Linux, Windows parantos diturunkeun ka sababaraha juru gelap Hard Drive kuring, anu badé dipupus pikeun masihan jalan ka Linux.
Alus pisan! .. ..terus léngkah salajengna .. sareng kaluarkeun ..
6 bulan kamari perkawis Kuring ngan ukur gaduh GNU / Linux dina sadaya mesin kuring sareng kuring henteu peryogi langkung .. ..teu W $ .. atanapi Anggur .. .. sareng kuring langkung resep sapertos kitu .. 😉
Sareng kuring nginfeksi lingkungan kuring .. kumargi sadayana ningali kuring sareng Arch kuring, gancang, épisién sareng bageur .. .. sareng aranjeunna nyungkeun kuring masang Linux .. ..hehehehe .. .. 😀
Anjeun tiasa ogé mariksa aranjeunna pikeun sababaraha ekstensi, anjeun tiasa nganggo anu sapertos kitu
#! / bin / bash
Diréktori = $ HOME / Undeuran
upami [$ Diréktori]; satuluyna
gema "Ieu Daptar Jenis File:"
gema "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp?, *. wav, *. fla, *. aud * .midi}
fi
ngagunakeun {} ngamungkinkeun anjeun netepkeun sababaraha ekstensi dina hal ieu, panggunaan "?" , mangrupikeun kartu liar, anu ngamungkinkeun anjeun nyandak "Karakter Naon waé".
Kuring miharep éta mantuan anjeun
Kuring nyarankeun paréntah panggihan [diréktori] [search_pattern] –exec [paréntah] {} \
Éta henteu tiasa dianggo, kuring nempatkeun file ieu dina diréktori:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
milarian.sh
#! / bin / bash
PATH = / tmp / TEST
cd $ ROUT
ls -la | awk '{nyitak »« $ 9}'
upami [[-f AB.TXT]]; satuluyna
kamandang »Lebetkeun IF upami aya AB.TXT "
fi
upami [-f AB20160422.TXT]; satuluyna
kamandang "input pikeun file AB khusus"
fi
nalika kuring nempatkeun [-f AB.TXT] méré kasalahan
nalika kuring nempatkeun [[-f AB.TXT]] henteu masihan kasalahan tapi henteu mendakan file na
éta ngan ukur tiasa dianggo nalika kuring nempatkeun file anu khusus, contona:
upami [-f AB20160422.TXT]; satuluyna
Abdi henteu tiasa ngerjakeun éta kartu liar * atanapi?
#! / usr / bin / env bash
#.encoding = utf-8.
NGARANGKEUN
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1m»
NC = »\ 033 [0m»
RED = »\ 033 [31m»
upami [! "$ 1"];
saterusna
gema "leungit parameter"
kaluar $ EXIT_BAD
fi
cd "$ 1"
file = »ls -h1 $ 1»
pikeun file dina $ ($ file); ngalakukeun
echo -e "anjeun tiasa ngalakukeun nanaon nganggo $ BOLD $ file $ nc didieu"
Puguh
kaluar $ EXIT_OK
@KZ, carioskeun langkung seueur perkawis ieu: "sareng éta sabab kuring asup ka dunya Python anu saé"!
HAHAHAHA nah ... saeutik-saeutik 🙂
Kuring masih ngan ukur énggal pikeun Python, boro-boro waktos pikeun ngahaturanan jam sareng jam, janten kuring laun enya, lambat tapi yakin dina diajar 😀
Hatur nuhun pisan 😀 mung kamari kuring mikir kumaha ngalakukeun ieu.
ieu sareng ncurses hébat 🙂
dina 1 kecap ... LUCU!
Lami-lami kuring nyampurnakeun skrip pikeun ngaunduh tina Internét, tapi kuring ngalaman masalah éta ngaunduh file anu dipénta na 1 deui sareng henteu tiasa mastikeun ayana 1ro.
Tuto saé pisan.
Kontribusi anu luar biasa, di dieu ti Chili diapresiasi.
Unggal dinten langkung LINUX pikaresepeun kaget kuring,
Hidup Software Gratis MIERDAAAA.
ngawula pikeun
parios naha file asalna tina diréktori
Upami kuring hoyong mariksa ayana file naon dina jalur «/ tmp / panarima», laksanakeun komando naon waé, kumaha éta?
Kuring bakal pisan bersyukur
Wasalam
Dear, sareng pikeun nangtoskeun ku IF upami file parantos dieusian lengkep ???. Kuring naroskeun ieu sabab nalika anjeun ngeusian file pikeun pangiriman, éta tiasa nyandak éta bahkan ku satengah data.
Salam sareng hatur nuhun kana réspon anjeun.
Nya kuring pikir anjeun ogé kedah nambihan conto, sapertos "Cek yén teu aya" file "atanapi" diréktori "sapertos contona
pikeun mariksa yén éta TEU aya, contona nganggo variabel->
A Diréktori
#! / bin / bash
Diréktori = »$ HOME / Diréktori Tés»
File = »$ HOME / File Tés»
upami [! -d "$ Diréktori"]; satuluyna
gema "Teu aya $ Diréktori"
gema "Nyiptakeun ->" $ Diréktori "
mkdir "$ Diréktori"
lamun henteu
kamandang "Diréktori" $ Diréktori "parantos aya
fi
upami [! -d "$ File"]; satuluyna
gema "File $ teu aya"
gema "Nyiptakeun ->" $ File "
toél "$ File"
lamun henteu
kamandang "File" $ File "parantos aya
fi
nalika anjeun damel mkdir parios engké upami terminal tiasa nyiptakeunna sabab éta tiasa ngarobih bal upami éta folder salaku root atanapi sistem hhah
Salam KZKG ^ Gaara pamundut sakumaha anu kuring lakukeun pikeun nganggo curl. Abdi hoyong terang kumaha kuring ngalakukeun ti konsol ka ping url pikeun ningali naha éta aya contona http://portal.com/directorio/archivo1.php Dimana file1 bakal nyimpen IP kunjungan, éta pikeun ngawaskeun tim anu kuring kedah ngadamel pin éta unggal satengah jam sahingga kuring sadar kana IP umum sabab éta robah tina waktos ka waktos sareng kuring henteu tiasa nyambung ku ssh.
Salam hatur nuhun sateuacana Gusti ngaberkahan anjeun.
Hello misalna,
Kahiji, anjeun kedah nyebatkeun yén variabel IP (contona) mangrupikeun eusi file éta, pikeun ieu anjeun kedah:
1. Unduh file na
2. Ningali eusina sareng kéngingkeun IP ti ditu
3. Éta IP mangrupikeun variabel
Contona:
Di dieu urang unduh file - »wget http://portal.com/directorio/archivo1.php -o file.html
Teras we napelkeun variabel eusina: - »: $ {IP: =` cat file.html`}
.. asumsina yén eusi file éta ngan ukur gaduh IP, upami henteu, anjeun kedah dianggo sareng grep, awk atanapi sirah.
Sakali anjeun gaduh IP salaku variabel, sésana mangrupikeun hal anu paling saderhana di dunya 🙂
Upami anjeun hoyong nyerat kuring kana email (kzkggaara [at] desdelinux [dot] net) éta kuring bakal ngabantosan anjeun
Hatur nuhun pisan kzkggaara hatur nuhun pisan.
Halo, kuring henteu pati ngartos ngeunaan komputasi sareng kuring henteu terang naha éntri ieu aya hubunganana sareng masalah anu kuring gaduh.
Kuring mairan upami anjeun maca kuring, sanaos tulisanna ti sataun katukang:
Tétéla kuring nyiptakeun folder dina desktop kuring pikeun nyimpen sababaraha video. Nya, kuring mupus éta pidéo kusabab kuring henteu peryogi deui sareng folder ieu ngawartosan yén éta teu aya (sanaos katingali dina desktop kuring).
- Éta mangrupikeun masalah munggaran anu kuring gaduh:
Abdi henteu tiasa mupus folder na.
- Masalah anu kadua sareng saur kuring langkung penting:
Dina usaha mupus folder, kuring nempatkeun folder PHOTOS. Ayeuna nalika kuring muka folder anu "teu aya" éta kosong sareng PHOTOS henteu aya.
Kumaha carana abdi tiasa kéngingkeun poto na? Kuring parantos masihan pilihan dina folder "Tembongkeun dokumén anu disumputkeun" tapi folder PHOTOS henteu némbongan.
Kuring miharep anjeun tiasa terang kumaha éta direngsekeun.
Hatur nuhun.
Aya dua pangguna anu utama: root sareng your_user (natalia contona). Duanana ngagaduhan folder pribadi. your_user in / home and root in / (root diréktori). Ku ngaklik katuhu dina folder tingali saha éta milik. Upami éta akar sareng pangatur file anjeun nganggo sudo atanapi gksu atanapi kdesu gumantung kana lingkungan anu anjeun anggo lebet kana diréktori akar -> root -> Desktop sareng anjeun panginten mendakan poto sareng anjeun tiasa mupus folder na. Sababaraha distro nalika anjeun sanés gaduh file atanapi diréktori sareng teu ngagaduhan ijin aksés nyarios yén diréktori / file henteu aya. Upami anjeun gaduh sareng anjeun henteu root, lakukeun hal anu sami sareng file manager ku sudo, jsb sareng buka diréktori root -> / home -> personal_folder -> Desktop sareng tingali naha poto na aya sareng naha anjeun tiasa mupus folder na.
Upami ieu henteu tiasa dianggo, anjeun kedah ningali pilihan sanés tina terminal (konsol).
Hai, kumaha damang? Kuring nuju damel di bash sareng kuring hoyong terang kumaha ngémutan upami aya diréktori dilebetkeun tina keyboard, contona
#! / bin / bash
maca jalur
#Enter ~ / Desktop
# Teras kuring nyobian nganapigasi diréktori éta
cd $ jalur
# Kuring kéngingkeun pesen bash ieu: cd: ~ / Desktop: file atanapi diréktori henteu aya
Patarosan abdi, naon anu kuring tiasa laksanakeun sahingga kuring ngalebetkeun tina keyboard sareng nyandak éta salaku jalur diréktori?
Sareng kumaha kuring terang upami aya grup,
saé kuring ngagaduhan masalah di canaima nalika kuring mencét tombol cunaguaro éta nyatakeun yén teu aya file atanapi diréktori sabab éta bakal ngatasi masalah éta sareng sésana henteu kabuka cunaguaro punten hatur nuhun.
Kumaha anjeun ngalakukeun upami dina BASH upami nami nami gaduh rohangan?
Contona:
Data April.xlsx
Pikeun naroskeun naha file na aya
Carlos, sapertos kieu:
upami [["$ variable" == Data \ bulan \ tina \ April.xlsx]]; teras kamandang 'pertandingan'; fi
Anjeun ogé tiasa:
upami [["$ variable" == 'Data kanggo sasih April.xlsx']]; teras kamandang 'pertandingan'; fi
Pilihan séjén:
[["$ Variable" == 'Data pikeun bulan April.xlsx']] && kamandang 'cocog' || kamandang 'henteu cocog'
Di sababaraha daérah anu poék dina internét nyarankeun pikeun nganggo [[]] tibatan [], sareng upami anjeun badé ngabandingkeun nomer maka: ((variable> = 3)) && gema 'variabel langkung ageung tibatan atanapi sami sareng 3' || echo 'variable kirang ti 3'
Ku alatan éta, pikeun nomer:
upami ((nomer! = 4)); maka kamandang "$ {nomer} sanés 4"; lain kamandang "$ {nomer} nyaéta 4"; fi
kumaha anjeun tiasa ngadamel kode kanggo ngesahkeun upami diréktori ngagaduhan téks anu khusus, pikeun tiasa ngédit na.
contona:
upami (téks1)
teu nanaon
lamun henteu
ngarobah téks1 janten téks2
patarosan, kumaha carana pikeun mariksa unggal 15 detik upami file na aya atanapi henteu, hatur nuhun.
pantun,
ieu:
upami [-w / home / Komun / Log / ti]; satuluyna
Pilarian terang upami file na tiasa ditulis. Tapi éta dumasar kana ijin pangguna. Naha éta tiasa dilakukeun pikeun milarian terang naha kelompok atanapi anu sanésna ngagaduhan ijin?