Paano suriin kung mayroon isang file sa bash

How Check If File Exists Bash



Mayroong maraming mga paraan upang suriin ang pagkakaroon ng isang file sa Linux. Ang utos ng pagsubok sa bash scripting ay isa sa mga pangunahing diskarte sa pag-check sa pagkakaroon ng isang file.
Ang pokus ng gabay na ito ay upang talakayin ang pagkakaroon ng isang file sa iyong system sa pamamagitan ng bash scripting:

Paano suriin ang pagkakaroon ng file gamit ang bash scripting:

1) Sa pamamagitan ng pagpasok ng pangalan ng file sa terminal:







Una, kailangan naming lumikha ng isang bash script file, gamitin ang nabanggit na utos:



$hawakantestfile.sh

Ang pangalan ng file na aking nilikha ay testfile.sh, ipinahiwatig ng extension na .sh ang shell script file:







Buksan ang testfile.sh sa anumang text editor. Pagkatapos ay isulat ang script, i-save ito sa pamamagitan ng pagpindot sa save.

Ang isang paraan ay upang makahanap ng isang file sa pamamagitan ng paghingi ng isang filename mula sa gumagamit sa terminal.



Gamitin -f upang suriin ang pagkakaroon ng file.

Isulat ang script sa ibaba:

#! / baseng / bash
itinapon 'Ipasok ang iyong filename'
basahinnewfile1
kung [ -f '$ newfile1' ]
tapos
itinapon 'Ang file ay natagpuan'
iba pa
itinapon 'Hindi nahanap ang file'
maging

Bumalik sa terminal at patakbuhin ang file upang mai-print ang output:

./filename.sh

Ang mensaheng tinanggihan ng pahintulot ay ipapakita sa terminal.

Gawin itong maipapatupad sa pamamagitan ng pagpapatupad ng nabanggit na utos:

$chmod+ x testfile.sh

Ipasok ang pangalan ng file, at i-print nito ang output:

2) Sa pamamagitan ng pagpasok ng pangalan ng file habang sinusulat ang script:
Isa pang paraan upang makahanap ng isang file sa pamamagitan ng pagbibigay ng pangalan ng file habang sinusulat ang script. Mayroon kaming tatlong mga paraan upang suriin ang pagkakaroon ng file. Ang una ay gumagamit ng utos ng pagsubok, ang pangalawa ay gumagamit kung may isang ekspresyon sa mga parisukat na braket, at ang pangatlo ay kasama din kung ngunit doble parisukat na mga braket tulad ng ipinahiwatig sa ibaba:

  1. subukan ang PAGPAPAHAYAG.
  2. kung [EXPRESSION]
  3. kung [[EXPRESSION]]

Unawain natin ito sa mga halimbawa:

1) pagsubok [Pagpapahayag]
Kopyahin ang ibinigay na script at i-paste ito sa editor, i-save ito:

#! / baseng / bash
filename= file1
kung pagsusulit -f '$ filename';
tapos
itinapon '$ fileay natagpuan. '
iba pa
itinapon '$ fileay hindi natagpuan '
maging

Output:

Dahil walang ganoong file sa aking direktoryo, samakatuwid ang code ay nagpapakita ng File ay hindi nahanap na mensahe.

2) kung [Pagpapahayag]

Kopyahin ang sumusunod na script upang suriin kung mayroon bang file o hindi:

#! / baseng / bash
filename= myfile.txt
kung [ -f '$ filename' ];
tapos
itinapon '$ filenameay natagpuan. '
iba pa
itinapon 'hindi nakita ang filename'
maging

Output:

3) kung [[Ekspresyon]]

Kopyahin ang script na nakasulat sa ibaba at i-paste ito sa terminal:

#! / baseng / bash
filename= testfile
kung [[ -f '$ filename' ]];
tapos
itinapon '$ filenameay natagpuan. '
iba pa
itinapon '$ filenameay hindi natagpuan '
maging

Output:

Upang suriin ang direktoryo:

3) Sa pamamagitan ng pagpasok ng pangalan ng direktoryo habang nagsusulat ng isang script

Gamitin ang -d flag upang suriin ang pagkakaroon ng isang direktoryo.

Sa script na nabanggit sa ibaba, ang dir11 ay ang variable kung saan mo iniimbak ang file na iyong nahahanap; sa halimbawang ito, nais kong suriin ang pangalan ng direktoryo na testDir mayroon o hindi.

#! / baseng / bash
dir11= testDir
kung [ -d '$ dir11' ]
tapos
itinapon 'Natagpuan ang direktoryo'
iba pa
itinapon 'Hindi nakita ang direktoryo'
maging

Output:

2) Sa pamamagitan ng pagpasok ng pangalan ng file sa terminal:
Kapag pinatakbo mo ang utos sa terminal upang suriin kung mayroon ang direktoryo o hindi, kinakailangan mong ipasok ang pangalan ng direktoryo na iyong hinahanap:

#! / baseng / bash
itinapon 'i-type ang iyong pangalan ng direktoryo.'
basahinDir1
kung [ -d 'Dir1' ]
tapos
itinapon 'natagpuan ang direktoryo'
iba pa
itinapon 'hindi nakita ang direktoryo'
maging

Output:

Sinusuri ang file nang hindi ginagamit ang pahayag kung:

Ang utos ng pagsubok ay maaaring maipatupad nang walang pahayag na kung. Ipapakita lamang nito ang output kung mayroon ang file; kung hindi man, walang output:

Sumulat ng iskrip:

  1. pagsusulit -fmyfile.txt&& itinapon 'ang file ay natagpuan'

  2. [ -fmyfile.txt] && itinapon '$ fileay nahanap.'

  3. [[ -fmyfile.txt]] && itinapon '$ fileay nahanap.'

Output:

Sinusuri ang direktoryo nang hindi ginagamit ang pahayag kung:

Gamitin ang mga nabanggit na pahayag upang suriin ang isang direktoryo na mayroon o hindi:

  1. [[ -dtestDir]] && itinapon 'umiiral ang direktoryo'

  2. 2) [ -dtestDir] && itinapon 'umiiral ang direktoryo'

Output:

Sinusuri ang maraming mga file / Direktoryo:

1) Sinusuri ang maraming mga file kung may mga pahayag:
Gumamit ng isang flag upang suriin ang pagkakaroon ng iba't ibang mga file sa halip na gumamit ng salak kung / iba pang mga pahayag:

#! / baseng / bash
kung [ -fnew_file.txt-sa -fnewfile.txt];tapos
itinapon 'Ang parehong mga file ay mayroon.'
maging

Ang isa pang paraan ay:

#! / baseng / bash
kung [[ -fnew_file.txt&& -fnewfile.txt]];tapos
itinapon 'Ang parehong mga file ay mayroon.'
maging

Output:

2) Sinusuri ang maraming mga file nang hindi ginagamit ang pahayag kung:
Gamitin ang sumusunod na pahayag upang suriin ang maraming mga file nang sabay-sabay nang walang paggamit kung:

  1. [[ -fnew_file.txt&& -fnewfile.txt]] && itinaponParehong lalabas ang mga file.

  2. [[ -fnew_file.txt&& -fnewfile.txt]] && itinaponParehong lalabas ang mga file.

Output:

Konklusyon:

Ipinakita ng artikulong ito kung paano gamitin ang bash scripting upang suriin ang isang file o isang direktoryo. Gumamit kami ng iba't ibang mga pagpipilian upang suriin ang pagkakaroon ng isang file. Una, ginagamit namin ang utos ng pagsubok na may iba't ibang mga watawat. Pagkatapos natutunan namin ang paggamit ng kung, nakapugad kung-sino pa, at nang walang mga pahayag upang suriin ang file o direktoryo. Tiningnan din namin kung paano suriin ang maraming mga file o direktoryo.