Difference between revisions of "BASH/C2/String-and-File-attributes/Gujarati"
From Script | Spoken-Tutorial
Jyotisolanki (Talk | contribs) |
PoojaMoolya (Talk | contribs) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
'''Title of script:''' '''String and File Attributes''' '''comparison in Bash''' | '''Title of script:''' '''String and File Attributes''' '''comparison in Bash''' | ||
− | '''Author:''' | + | '''Author:''' Jyoti Solanki |
'''Keywords: video tutorial, ==, !=, string compare, file attributes.''' | '''Keywords: video tutorial, ==, !=, string compare, file attributes.''' | ||
Line 13: | Line 13: | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
− | | | + | | નમસ્તે મિત્રો, '''Bash''' (બેશ) માં '''String''' (સ્ટ્રીંગ) અને '''File Attributes''' (ફાઈલ એટ્રીબ્યુટો) ની તુલના પરનાં સ્પોકન ટ્યુટોરીયલમાં સ્વાગત છે. |
|- | |- | ||
| 00:10 | | 00:10 | ||
− | | આ ટ્યુટોરીયલમાં, આપણે | + | | આ ટ્યુટોરીયલમાં, આપણે શીખીશું |
|- | |- | ||
| 00:13 | | 00:13 | ||
− | | | + | | '''String comparison''' (સ્ટ્રીંગ તુલના) તથા '''File attributes comparison''' (ફાઈલ એટ્રીબ્યુટોની તુલના) |
|- | |- | ||
| 00:18 | | 00:18 | ||
− | | | + | | આપણે આ બધું કેટલાક ઉદાહરણોનાં મદદથી કરીશું. |
|- | |- | ||
| 00:22 | | 00:22 | ||
− | | | + | | આ ટ્યુટોરીયલ માટે, હું વાપરી રહ્યી છું |
|- | |- | ||
| 00:25 | | 00:25 | ||
− | | | + | | ઉબુન્ટુ લીનક્સ 12.04 ઓપરેટીંગ સીસ્ટમ અને |
|- | |- | ||
| 00:30 | | 00:30 | ||
− | | | + | | '''GNU BASH''' આવૃત્તિ 4.1.10 |
|- | |- | ||
| 00:34 | | 00:34 | ||
− | | નોંધ લો | + | | કૃપા કરી નોંધ લો, આ ટ્યુટોરીયલનાં અભ્યાસ માટે '''GNU Bash''' આવૃત્તિ '''4''' કે તેથી વધુ આગ્રહ કરીએ છીએ. |
|- | |- | ||
− | | | + | | 00:42 |
− | | | + | | ચાલો પરિચયથી શરૂઆત કરીએ. |
|- | |- | ||
− | | | + | | 00:45 |
− | | | + | | બેશમાં સ્ટ્રીંગની તુલના કરવાનાં બે પ્રકાર છે. |
|- | |- | ||
− | | | + | | 00:49 |
− | | 1) | + | | 1) પહેલું: == (ઈક્વલ ટુ ઈક્વલ ટુ) ઓપરેટર વાપરીને. |
|- | |- | ||
| 00:53 | | 00:53 | ||
− | | | + | | બે સમાન સ્ટ્રીંગની તુલના કરવા માટે. |
|- | |- | ||
| 00:56 | | 00:56 | ||
− | | 2) બીજું : != ( | + | | 2) બીજું: != (નોટ ઈક્વલ ટુ) ઓપરેટર વાપરીને. |
|- | |- | ||
| 00:59 | | 00:59 | ||
− | | | + | | બે સમાન ન હોય એવી સ્ટ્રીંગની તુલના કરવા માટે. |
− | + | ||
|- | |- | ||
| 01:03 | | 01:03 | ||
− | | | + | | ચાલો ઉદાહરણ જોઈએ. |
|- | |- | ||
− | | | + | | 01:06 |
− | | મારી પાસે | + | | અહીં મારી પાસે એક સાદું પ્રોગ્રામ છે, જે '''user ID''' (યુઝર આઈડી) તપાસ કરે છે. |
− | + | ||
|- | |- | ||
| 01:11 | | 01:11 | ||
− | | | + | | તમારા એડિટરમાં એક ફાઈલ ખોલો અને તેને '''strcompare''' ડોટ '''sh''' તરીકે સંગ્રહો. |
|- | |- | ||
− | | | + | | 01:19 |
− | | હવે, | + | | હવે, અહીં બતાવ્યા પ્રમાણે, તમારી '''strcompare''' ડોટ '''sh''' ફાઈલમાં કોડ ટાઈપ કરો. |
|- | |- | ||
| 01:26 | | 01:26 | ||
− | | | + | | ચાલો હું કોડ સમજાઉં. |
|- | |- | ||
| 01:28 | | 01:28 | ||
− | | આ | + | | આ '''shebang line''' (શીબેંગ લાઈન) છે. |
|- | |- | ||
| 01:31 | | 01:31 | ||
− | | | + | | '''whoami''' કમાંડ વર્તમાન '''user''' (યુઝર) નું '''username''' (યુઝરનેમ) આપે છે. |
|- | |- | ||
− | | | + | | 01:36 |
− | | | + | | '''if''' સ્ટેટમેંટ વેરીએબલ '''whoami''' નાં આઉટપુટને '''string “root”''' (સ્ટ્રીંગ “root”) સાથે તપાસ કરી જુએ છે. |
− | + | ||
|- | |- | ||
− | | | + | | 01:44 |
− | | | + | | '''strings''' ની તુલના કરવા માટે અહીં આપણે '''not-equal to''' ઓપરેટરનો ઉપયોગ કર્યો છે. |
|- | |- | ||
− | | | + | | 01:50 |
− | | | + | | જો વર્તમાન યુઝર '''root user''' (રૂટ યુઝર) ન હોય, તો તે આ સ્ટેટમેંટ '''echo''' (એકો) કરશે - |
|- | |- | ||
| 01:57 | | 01:57 | ||
| '''“You have no permission to run strcompare dot sh as non-root user.”''' | | '''“You have no permission to run strcompare dot sh as non-root user.”''' | ||
− | |||
|- | |- | ||
| 02:05 | | 02:05 | ||
− | | | + | | અહીં, '''$0 (ડોલર ઝીરો)''' આ '''zeroeth''' (શૂન્યમી) આર્ગ્યુંમેંટ છે જે પોતે એક ફાઈલનામ છે. |
|- | |- | ||
− | | | + | | 02:13 |
− | | | + | | યુઝર જો '''root user''' (રૂટ યુઝર) હોય, તો તે '''“Welcome root!”''' - એકો કરશે. |
|- | |- | ||
| 02:18 | | 02:18 | ||
− | | | + | | ત્યારબાદ આપણી પાસે પ્રોગ્રામ માટે '''exit''' (એક્ઝીટ) સ્ટેટમેંટ છે. |
− | + | ||
|- | |- | ||
| 02:23 | | 02:23 | ||
− | | | + | | અને અહીં '''fi''' વડે આપણે '''if statement''' (ઈફ સ્ટેટમેંટ) નો અંત કરીએ છીએ. |
− | + | ||
|- | |- | ||
− | | | + | | 02:28 |
− | | | + | | '''exit statement''' (એક્ઝીટ સ્ટેટમેંટ) વિશે વધુ વિગતમાં જાણવા માટે ચાલો આપણી સ્લાઈડ પર પાછા ફરીએ. |
|- | |- | ||
| 02:34 | | 02:34 | ||
− | | | + | | દરેક પ્રોગ્રામ '''exit status''' (એક્ઝીટ સ્ટેટસ) પાછું આપે છે. |
|- | |- | ||
| 02:38 | | 02:38 | ||
− | | | + | | સફળ કમાંડ '''0 (ઝીરો)''' પાછું આપે છે. |
|- | |- | ||
| 02:42 | | 02:42 | ||
− | | | + | | એરર રહેલ કમાંડ '''non-zero''' (નોન-ઝીરો) વેલ્યુ પાછી આપે છે. |
|- | |- | ||
| 02:47 | | 02:47 | ||
− | | | + | | તેને '''error code''' (એરર કોડ) તરીકે ઇન્ટરપ્રીટ કરી શકાય છે. |
|- | |- | ||
| 02:51 | | 02:51 | ||
− | | | + | | આપણે '''exit statement''' (એક્ઝીટ સ્ટેટમેંટ) ની પાછી મળેલ વેલ્યુને કસ્ટમાઇઝ કરી શકીએ છીએ. |
|- | |- | ||
− | | | + | | 02:56 |
− | | | + | | હવે, ચાલો પ્રોગ્રામ એક્ઝીક્યુટ કરીએ. |
|- | |- | ||
− | | | + | | 02:58 |
− | | | + | | તમારા કીબોર્ડ પર '''Ctrl+Alt''' અને '''T''' કી એકસાથે દાબીને ટર્મિનલ ખોલો. |
|- | |- | ||
− | | | + | | 03:08 |
− | | | + | | પહેલા, ચાલો સીસ્ટમનું વર્તમાન યુઝર તપાસ કરીએ. |
|- | |- | ||
− | | | + | | 03:12 |
− | | | + | | ટાઈપ કરો '''whoami''' |
|- | |- | ||
− | | | + | | 03:15 |
− | | | + | | '''Enter''' દબાવો. |
|- | |- | ||
− | | | + | | 03:17 |
− | | | + | | આનાથી વર્તમાન યુઝરનું નામ આઉટપુટ પર અપાશે. |
|- | |- | ||
− | | | + | | 03:21 |
− | | | + | | હવે ચાલો આપણી સ્ક્રીપ્ટને એક્ઝીક્યુટ કરવા યોગ્ય બનાવીએ. |
|- | |- | ||
| 03:25 | | 03:25 | ||
− | | | + | | ટાઈપ કરો '''chmod +x strcompare''' ડોટ '''sh''' |
− | + | ||
|- | |- | ||
| 03:32 | | 03:32 | ||
− | | | + | | ટાઈપ કરો ડોટ સ્લેશ '''strcompare''' ડોટ '''sh''' |
− | + | ||
|- | |- | ||
| 03:37 | | 03:37 | ||
− | | | + | | આઉટપુટ આ પ્રમાણે દેખાય છે : |
|- | |- | ||
Line 205: | Line 197: | ||
|- | |- | ||
| 03:47 | | 03:47 | ||
− | | | + | | હવે ચાલો સમાન પ્રોગ્રામને '''root user''' (રૂટ યુઝર) તરીકે એક્ઝીક્યુટ કરીએ. |
|- | |- | ||
| 03:52 | | 03:52 | ||
− | | | + | | ટાઈપ કરો: '''sudo''' ડોટ સ્લેશ '''strcompare''' ડોટ '''sh''' |
|- | |- | ||
− | | | + | | 03:58 |
− | | | + | | તે પાસવર્ડ માટે પ્રોમ્પ્ટ કરશે. |
|- | |- | ||
− | | | + | | 04:01 |
− | | | + | | અહીં તમારો પાસવર્ડ આપો. |
|- | |- | ||
− | | | + | | 04:04 |
− | | | + | | આઉટપુટ આ પ્રમાણે દેખાય છે: '''Welcome root!'''. |
|- | |- | ||
| 04:08 | | 04:08 | ||
− | | | + | | હવે, ચાલો '''file attributes''' (ફાઈલ એટ્રીબ્યુટો) ની તુલના વિશે શીખીએ. |
|- | |- | ||
− | | | + | | 04:13 |
− | | | + | | મારી પાસે પહેલાથી જ કોડનું એક કાર્ય કરતુ ઉદાહરણ છે. |
|- | |- | ||
| 04:17 | | 04:17 | ||
− | | | + | | આ પ્રોગ્રામમાં, આપણે આપેલ ફાઈલ ઉપલબ્ધ છે કે નહી તે તપાસ કરીશું. |
|- | |- | ||
| 04:23 | | 04:23 | ||
− | | | + | | '''file1''' આ વેરીએબલ છે જેમાં આપણે ફાઈલનો પાથ સંગ્રહીત કર્યો છે. |
|- | |- | ||
− | | | + | | 04:29 |
− | | '''-( | + | | '''-(હાઈફન) f''' કમાંડ ફાઈલ ઉપલબ્ધ છે કે નહી |
|- | |- | ||
− | | | + | | 04:33 |
− | | | + | | અને તે સામાન્ય ફાઈલ છે કે નહી તે તપાસે છે. |
|- | |- | ||
− | | | + | | 04:37 |
− | | | + | | કંડીશન જો '''true''' (ટ્રુ) હોય, તો તે આપેલ '''echo''' (એકો) કરશે '''"File exists and is a normal file"''' |
|- | |- | ||
− | | | + | | 04:44 |
− | | | + | | નહી તો, તે '''echo''' (એકો) કરશે ''' "File does not exis" ''' |
|- | |- | ||
− | | | + | | 04:48 |
− | | | + | | '''terminal''' (ટર્મિનલ) પર પાછા જઈએ ચાલો આપણી ફાઈલ એક્ઝીક્યુટ કરીએ. |
|- | |- | ||
− | | | + | | 04:53 |
− | | | + | | ટાઈપ કરો '''chmod plus x fileattrib''' ડોટ '''sh''' |
− | + | ||
|- | |- | ||
− | | | + | | 05:00 |
− | | | + | | ટાઈપ કરો : ડોટ સ્લેશ '''fileattrib''' ડોટ '''sh''' |
|- | |- | ||
− | | | + | | 05:05 |
− | | | + | | આઉટપુટ આ રીતે દેખાય છે: |
− | + | ||
|- | |- | ||
− | | | + | | 05:07 |
| '''File exists and is a normal file'''. | | '''File exists and is a normal file'''. | ||
− | |||
|- | |- | ||
− | | | + | | 05:11 |
− | | | + | | હવે આપણે તપાસ કરીશું કે ફાઈલ ખાલી છે કે નહી. |
|- | |- | ||
| 05:16 | | 05:16 | ||
− | | | + | | આપણું પ્રોગ્રામ એક્ઝીક્યુટ કરીએ એ પહેલા, હું '''empty''' ડોટ '''sh''' નામની એક ખાલી ફાઈલ બનાવીશ. |
|- | |- | ||
| 05:24 | | 05:24 | ||
− | | | + | | ટાઈપ કરો '''gedit empty''' ડોટ '''sh''' એમ્પરસંડ ચિન્હ. |
|- | |- | ||
| 05:31 | | 05:31 | ||
− | | | + | | '''Save''' (સેવ) પર ક્લિક કરો, ફાઈલને બંધ કરો. |
|- | |- | ||
| 05:35 | | 05:35 | ||
− | | | + | | ચાલો '''- (હાઈફન) f''' એટ્રીબ્યુટનાં બદલે '''- (હાઈફન) s''' એટ્રીબ્યુટ બદલી કરીએ. |
|- | |- | ||
− | | | + | | 05:41 |
− | | | + | | અહીં ફાઈલનેમ પણ બદલી કરીએ. |
|- | |- | ||
− | | | + | | 05:45 |
− | | | + | | ટાઈપ કરો ''' empty''' ડોટ '''sh''' |
|- | |- | ||
− | | | + | | 05:47 |
− | | | + | | હવે, પહેલા '''echo statement''' (એકો સ્ટેટમેંટ) ને આપેલથી બદલી કરીએ : |
|- | |- | ||
− | | | + | | 05:51 |
− | | | + | | ''' “File exists and is not empty”''' |
|- | |- | ||
| 05:54 | | 05:54 | ||
− | | | + | | અને બીજા '''echo statement''' (એકો સ્ટેટમેંટ) ને આપેલથી બદલી કરીએ : |
|- | |- | ||
| 05:57 | | 05:57 | ||
| ''' “File is empty”''' | | ''' “File is empty”''' | ||
− | |||
|- | |- | ||
− | | | + | | 05:59 |
− | | | + | | '''Save''' (સેવ) પર ક્લિક કરો. |
|- | |- | ||
| 06:01 | | 06:01 | ||
− | | | + | | ટર્મિનલ પર પાછા આવીએ. |
|- | |- | ||
| 06:03 | | 06:03 | ||
− | | | + | | ચાલો હું પ્રોમ્પ્ટ સાફ કરું. |
|- | |- | ||
| 06:06 | | 06:06 | ||
− | | | + | | ચાલો એક્ઝીક્યુટ કરીએ. |
|- | |- | ||
| 06:08 | | 06:08 | ||
− | | | + | | ટાઈપ કરો : ડોટ સ્લેશ '''fileattrib''' ડોટ '''sh''' અને '''Enter''' દબાવો. |
|- | |- | ||
| 06:13 | | 06:13 | ||
− | | | + | | આઉટપુટ આ પ્રમાણે છે '''File is empty'''. |
|- | |- | ||
− | | | + | | 06:17 |
− | | | + | | હવે, ચાલો બીજી ફાઈલ એટ્રીબ્યુટ જોઈએ, જે કે કોઈપણ ફાઈલની '''write premission''' (રાઈટ પરમિશન) તપાસ કરશે. |
− | + | ||
|- | |- | ||
− | | | + | | 06:24 |
− | | | + | | આપણા પ્રોગ્રામ પર પાછા આવીએ. |
|- | |- | ||
− | | | + | | 06:26 |
− | | | + | | ચાલો '''- (હાઈફન) s''' એટ્રીબ્યુટથી '''- (હાઈફન) w''' બદલી કરીએ. |
|- | |- | ||
− | | | + | | 06:32 |
− | | | + | | હવે પહેલા '''echo statement''' (એકો સ્ટેટમેંટ) નાં બદલે મુકીએ : |
− | + | ||
|- | |- | ||
− | | | + | | 06:36 |
| '''“User has write permission to this file”''' | | '''“User has write permission to this file”''' | ||
|- | |- | ||
− | | | + | | 06:40 |
− | | | + | | અને બીજા '''echo statement''' (એકો સ્ટેટમેંટ) નાં બદલે મુકીએ : |
|- | |- | ||
− | | | + | | 06:43 |
| '''“User doesn't have write permission to this file”''' | | '''“User doesn't have write permission to this file”''' | ||
|- | |- | ||
− | | | + | | 06:47 |
− | | | + | | '''Save''' (સેવ) પર ક્લિક કરો. |
|- | |- | ||
− | | | + | | 06:49 |
− | | | + | | આ ઉદાહરણ માટે હું જુદી ફાઈલને ઉપયોગમાં લઈશ. |
|- | |- | ||
− | | | + | | 06:53 |
− | | | + | | હું એક એવી ફાઈલ પસંદ કરીશ, જે કે એક ન વાંચી શકનાર ફાઈલ છે અથવા કે '''write permission''' ધરાવતી નથી. |
|- | |- | ||
− | | | + | | 07:01 |
− | | | + | | ચાલો હું '''filepath''' (ફાઈલપાથ) આપેલથી બદલી કરું |
|- | |- | ||
Line 399: | Line 385: | ||
|- | |- | ||
| 07:10 | | 07:10 | ||
− | | | + | | '''Save''' (સેવ) પર ક્લિક કરો. |
|- | |- | ||
| 07:12 | | 07:12 | ||
− | | | + | | ચાલો આપણું પ્રોગ્રામ એક્ઝીક્યુટ કરીએ. |
|- | |- | ||
| 07:15 | | 07:15 | ||
− | | | + | | '''up-arrow key''' (અપ-એરો કી) દબાવો. '''Enter''' (એન્ટર) દબાવો. |
|- | |- | ||
| 07:19 | | 07:19 | ||
− | | | + | | આપણને આ રીતે આઉટપુટ મળે છે : |
|- | |- | ||
| 07:21 | | 07:21 | ||
− | | '''User doesn't have write permission to this file | + | | '''User doesn't have write permission to this file'''. |
|- | |- | ||
| 07:26 | | 07:26 | ||
− | | | + | | હવે, ચાલો ફાઈલ એટ્રીબ્યુટો પર આધારિત બીજું એક ઉદાહરણ જોઈએ. |
|- | |- | ||
| 07:31 | | 07:31 | ||
− | | | + | | આ ઉદાહરણમાં, આપણે તપાસ કરીશું કે '''file1''' આ '''file2''' કરતા નવી છે કે નહી. |
|- | |- | ||
− | | | + | | 07:38 |
− | | | + | | ચાલો પ્રોગ્રામ જોઈએ. |
|- | |- | ||
− | | | + | | 07:40 |
− | | | + | | આપણી ફાઈલનું નામ '''fileattrib2''' ડોટ '''sh''' છે તેની નોંધ લો. |
|- | |- | ||
− | | | + | | 07:46 |
− | | | + | | ચાલો કોડ મારફતે જઈએ. |
|- | |- | ||
− | | | + | | 07:48 |
− | | | + | | અહીં આપણી પાસે બે વેરીએબલો છે '''file1''' અને '''file2'''. |
|- | |- | ||
− | | | + | | 07:53 |
− | | | + | | બે ફાઈલો પહેલાથી જ બનાવવામાં આવી છે અને તે ખાલી છે. |
|- | |- | ||
− | | | + | | 07:58 |
− | | | + | | અહીં આપણે તપાસ કરીશું કે '''file1''' આ '''file2''' કરતા નવી છે કે નહી. |
|- | |- | ||
| 08:04 | | 08:04 | ||
− | | | + | | '''condition''' (કંડીશન) જો '''true''' (ટ્રુ) હોય, તો આપણે '''file1 is newer than file2''' પ્રીંટ કરીએ છીએ. |
|- | |- | ||
| 08:09 | | 08:09 | ||
− | | | + | | નહી તો, '''file2 is newer than file1''' પ્રીંટ કરીએ છીએ. |
|- | |- | ||
| 08:14 | | 08:14 | ||
− | | | + | | આ બીજું '''if statement''' (ઈફ સ્ટેટમેંટ) છે. |
|- | |- | ||
− | | | + | | 08:16 |
− | | | + | | અહીં આપણે તપાસ કરીએ છીએ કે '''file1''' આ '''file2''' કરતા જૂની છે કે નહી. |
|- | |- | ||
| 08:21 | | 08:21 | ||
− | | | + | | '''condition''' (કંડીશન) જો '''true''' (ટ્રુ) હોય, તો આપણે '''file1 is older than file2''' પ્રીંટ કરીએ છીએ. |
|- | |- | ||
| 08:27 | | 08:27 | ||
− | | | + | | નહી તો, આપણે '''file2 is older than file1''' પ્રીંટ કરીએ છીએ. |
|- | |- | ||
− | | | + | | 08:32 |
− | | | + | | આપણા ટર્મિનલ પર પાછા આવીએ. |
|- | |- | ||
− | | | + | | 08:35 |
− | | | + | | પહેલા, આપણે '''empty1''' ડોટ '''sh''' ફાઈલને એડિટ કરીશું. |
|- | |- | ||
| 08:39 | | 08:39 | ||
− | | | + | | હું આમાં એક '''echo statement''' (એકો સ્ટેટમેંટ) ઉમેરીશ. |
|- | |- | ||
| 08:42 | | 08:42 | ||
− | | | + | | ટાઈપ કરો : '''echo''' બમણા અવતરણમાં '''Hiii''' બમણા અવતરણ પછી '''greater than sign empty one''' ડોટ '''sh'''. અને '''Enter''' દબાવો. |
|- | |- | ||
− | | | + | | 08:53 |
− | | | + | | હવે, ચાલો આપણી સ્ક્રીપ્ટને એક્ઝીક્યુટ કરવા યોગ્ય બનાવીએ. |
|- | |- | ||
| 08:57 | | 08:57 | ||
− | | | + | | ટાઈપ કરો '''chmod plus x fileattrib2''' ડોટ '''sh''' |
|- | |- | ||
− | | | + | | 09:03 |
− | | | + | | હવે ટાઈપ કરો ડોટ સ્લેશ '''fileattrib2''' ડોટ '''sh''' |
− | + | ||
|- | |- | ||
− | | | + | | 09:09 |
− | | | + | | આપણને આ રીતે આઉટપુટ મળે છે : |
|- | |- | ||
− | | | + | | 09:11 |
| '''file1 is newer than file2''' | | '''file1 is newer than file2''' | ||
|- | |- | ||
− | | | + | | 09:15 |
| '''file2 is older than file1''' | | '''file2 is older than file1''' | ||
|- | |- | ||
− | | | + | | 09:19 |
− | | | + | | હવે ચાલો '''empty2''' ડોટ '''sh''' ફાઈલને એડિટ કરીએ. |
|- | |- | ||
| 09:23 | | 09:23 | ||
− | | | + | | અહીં પણ હું એક '''echo statement''' (એકો સ્ટેટમેંટ) ઉમેરીશ. |
− | + | ||
|- | |- | ||
− | | | + | | 09:27 |
− | | | + | | ટાઈપ કરો '''echo''' બમણા અવતરણમાં '''How are you''' અવતરણ પછી (greater than sign) > '''empty2''' ડોટ '''sh'''. |
|- | |- | ||
− | | | + | | 09:38 |
− | | | + | | ચાલો હું પ્રોમ્પ્ટ સાફ કરું. |
|- | |- | ||
| 09:41 | | 09:41 | ||
− | | | + | | હવે ચાલો આપણી સ્ક્રીપ્ટને ફરીથી એક્ઝીક્યુટ કરીએ. |
|- | |- | ||
| 09:45 | | 09:45 | ||
− | | | + | | અપ-એરો કી દબાવો. |
|- | |- | ||
| 09:47 | | 09:47 | ||
− | | | + | | ડોટ સ્લેશ '''fileattrib2''' ડોટ '''sh''' પર જાવ અને '''Enter''' દબાવો. |
− | + | ||
|- | |- | ||
− | | | + | | 09:53 |
− | | | + | | હવે આ રીતે આઉટપુટ દેખાય છે : |
|- | |- | ||
− | | | + | | 09:55 |
| '''file2 is newer than file1''' | | '''file2 is newer than file1''' | ||
|- | |- | ||
− | | | + | | 09:59 |
− | | | + | | અને '''file1 is older than file2''' |
|- | |- | ||
− | | | + | | 10:03 |
− | | | + | | અહીં આ ટ્યુટોરીયલનો અંત થાય છે. |
− | + | ||
|- | |- | ||
− | | | + | | 10:06 |
− | | | + | | ચાલો સારાંશ લઈએ. |
|- | |- | ||
| 10:08 | | 10:08 | ||
− | | | + | | આ ટ્યુટોરીયલમાં આપણે શીખ્યા, |
|- | |- | ||
| 10:11 | | 10:11 | ||
− | | '''String comparison''' | + | | '''String comparison''' (સ્ટ્રીંગની તુલના), '''file attributes''' (ફાઈલ એટ્રીબ્યુટો) |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| 10:14 | | 10:14 | ||
− | |'''==( | + | | '''==(ઈક્વલ ટુ ઈક્વલ ટુ)''' |
|- | |- | ||
| 10:16 | | 10:16 | ||
− | |'''!= ( | + | | '''!= (નોટ ઈક્વલ ટુ)''', '''-f (હાઈફન f)''' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| 10:18 | | 10:18 | ||
− | |'''-s'''( | + | | '''-s'''(હાઈફન s), '''-w'''(હાઈફન w) |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| 10:21 | | 10:21 | ||
− | |'''-nt'''( | + | | '''-nt'''(હાઈફન nt), અને '''-ot''' (હાઈફન ot) એટ્રીબ્યુટો. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | 10: | + | | 10:25 |
− | | | + | | એસાઈનમેંટ તરીકે - હજુ કેટલાક એટ્રીબ્યુટોનું અન્વેષણ કરો. |
|- | |- | ||
| 10:29 | | 10:29 | ||
− | | | + | | ઉદાહરણ તરીકે: '''-r ''' |
'''-x''' | '''-x''' | ||
− | + | અને '''-o''' | |
|- | |- | ||
− | | | + | | 10:33 |
− | | | + | | નીચે દર્શાવેલ લીંક પર ઉપલબ્ધ વિડીયો નિહાળો. |
|- | |- | ||
| 10:36 | | 10:36 | ||
− | | | + | | તે સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટનો સારાંશ આપે છે. |
|- | |- | ||
− | | | + | | 10:40 |
− | | | + | | જો તમારી પાસે સારી બેન્ડવિડ્થ ન હોય તો, તમે વિડીયો ડાઉનલોડ કરીને જોઈ શકો છો. |
|- | |- | ||
− | | | + | | 10:45 |
− | | | + | | સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટ ટીમ |
|- | |- | ||
| 10:47 | | 10:47 | ||
− | | | + | | સ્પોકન ટ્યુટોરીયલોનાં ઉપયોગથી વર્કશોપોનું આયોજન કરે છે. |
|- | |- | ||
− | | | + | | 10:51 |
− | | | + | | જેઓ ઓનલાઈન પરીક્ષા પાસ કરે છે તેઓને પ્રમાણપત્રો આપે છે. |
|- | |- | ||
− | | | + | | 10:55 |
− | | | + | | વધુ વિગતો માટે, કૃપા કરી, '''contact@spoken-tutorial.org''' પર લખો. |
|- | |- | ||
− | | | + | | 11:02 |
− | | | + | | સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટ ટોક ટુ અ ટીચર પ્રોજેક્ટનો એક ભાગ છે. |
|- | |- | ||
| 11:06 | | 11:06 | ||
− | | | + | | જેને આઈસીટી, એમએચઆરડી, ભારત સરકાર મારફતે શિક્ષણ પર નેશનલ મિશન દ્વારા આધાર અપાયેલ છે. |
|- | |- | ||
− | | | + | | 11:14 |
− | | | + | | આ મિશન પર વધુ માહિતી નીચે દર્શાવેલ લીંક પર ઉપલબ્ધ છે. '''http://spoken-tutorial.org/NMEICT-Intro''' |
|- | |- | ||
− | | | + | | 11:19 |
− | | | + | | આ સ્ક્રીપ્ટ માટે ફાળો '''FOSSEE''' અને સ્પોકન ટ્યુટોરીયલ ટીમ દ્વારા અપાયેલ છે. |
|- | |- | ||
| 11:25 | | 11:25 | ||
− | | | + | | '''IIT Bombay''' તરફથી હું, જ્યોતી સોલંકી વિદાય લઉં છું. |
|- | |- | ||
| 11:29 | | 11:29 | ||
− | | | + | | જોડાવાબદ્દલ આભાર. |
|} | |} |
Latest revision as of 12:27, 23 February 2017
Title of script: String and File Attributes comparison in Bash
Author: Jyoti Solanki
Keywords: video tutorial, ==, !=, string compare, file attributes.
Time | Narration |
---|---|
00:01 | નમસ્તે મિત્રો, Bash (બેશ) માં String (સ્ટ્રીંગ) અને File Attributes (ફાઈલ એટ્રીબ્યુટો) ની તુલના પરનાં સ્પોકન ટ્યુટોરીયલમાં સ્વાગત છે. |
00:10 | આ ટ્યુટોરીયલમાં, આપણે શીખીશું |
00:13 | String comparison (સ્ટ્રીંગ તુલના) તથા File attributes comparison (ફાઈલ એટ્રીબ્યુટોની તુલના) |
00:18 | આપણે આ બધું કેટલાક ઉદાહરણોનાં મદદથી કરીશું. |
00:22 | આ ટ્યુટોરીયલ માટે, હું વાપરી રહ્યી છું |
00:25 | ઉબુન્ટુ લીનક્સ 12.04 ઓપરેટીંગ સીસ્ટમ અને |
00:30 | GNU BASH આવૃત્તિ 4.1.10 |
00:34 | કૃપા કરી નોંધ લો, આ ટ્યુટોરીયલનાં અભ્યાસ માટે GNU Bash આવૃત્તિ 4 કે તેથી વધુ આગ્રહ કરીએ છીએ. |
00:42 | ચાલો પરિચયથી શરૂઆત કરીએ. |
00:45 | બેશમાં સ્ટ્રીંગની તુલના કરવાનાં બે પ્રકાર છે. |
00:49 | 1) પહેલું: == (ઈક્વલ ટુ ઈક્વલ ટુ) ઓપરેટર વાપરીને. |
00:53 | બે સમાન સ્ટ્રીંગની તુલના કરવા માટે. |
00:56 | 2) બીજું: != (નોટ ઈક્વલ ટુ) ઓપરેટર વાપરીને. |
00:59 | બે સમાન ન હોય એવી સ્ટ્રીંગની તુલના કરવા માટે. |
01:03 | ચાલો ઉદાહરણ જોઈએ. |
01:06 | અહીં મારી પાસે એક સાદું પ્રોગ્રામ છે, જે user ID (યુઝર આઈડી) તપાસ કરે છે. |
01:11 | તમારા એડિટરમાં એક ફાઈલ ખોલો અને તેને strcompare ડોટ sh તરીકે સંગ્રહો. |
01:19 | હવે, અહીં બતાવ્યા પ્રમાણે, તમારી strcompare ડોટ sh ફાઈલમાં કોડ ટાઈપ કરો. |
01:26 | ચાલો હું કોડ સમજાઉં. |
01:28 | આ shebang line (શીબેંગ લાઈન) છે. |
01:31 | whoami કમાંડ વર્તમાન user (યુઝર) નું username (યુઝરનેમ) આપે છે. |
01:36 | if સ્ટેટમેંટ વેરીએબલ whoami નાં આઉટપુટને string “root” (સ્ટ્રીંગ “root”) સાથે તપાસ કરી જુએ છે. |
01:44 | strings ની તુલના કરવા માટે અહીં આપણે not-equal to ઓપરેટરનો ઉપયોગ કર્યો છે. |
01:50 | જો વર્તમાન યુઝર root user (રૂટ યુઝર) ન હોય, તો તે આ સ્ટેટમેંટ echo (એકો) કરશે - |
01:57 | “You have no permission to run strcompare dot sh as non-root user.” |
02:05 | અહીં, $0 (ડોલર ઝીરો) આ zeroeth (શૂન્યમી) આર્ગ્યુંમેંટ છે જે પોતે એક ફાઈલનામ છે. |
02:13 | યુઝર જો root user (રૂટ યુઝર) હોય, તો તે “Welcome root!” - એકો કરશે. |
02:18 | ત્યારબાદ આપણી પાસે પ્રોગ્રામ માટે exit (એક્ઝીટ) સ્ટેટમેંટ છે. |
02:23 | અને અહીં fi વડે આપણે if statement (ઈફ સ્ટેટમેંટ) નો અંત કરીએ છીએ. |
02:28 | exit statement (એક્ઝીટ સ્ટેટમેંટ) વિશે વધુ વિગતમાં જાણવા માટે ચાલો આપણી સ્લાઈડ પર પાછા ફરીએ. |
02:34 | દરેક પ્રોગ્રામ exit status (એક્ઝીટ સ્ટેટસ) પાછું આપે છે. |
02:38 | સફળ કમાંડ 0 (ઝીરો) પાછું આપે છે. |
02:42 | એરર રહેલ કમાંડ non-zero (નોન-ઝીરો) વેલ્યુ પાછી આપે છે. |
02:47 | તેને error code (એરર કોડ) તરીકે ઇન્ટરપ્રીટ કરી શકાય છે. |
02:51 | આપણે exit statement (એક્ઝીટ સ્ટેટમેંટ) ની પાછી મળેલ વેલ્યુને કસ્ટમાઇઝ કરી શકીએ છીએ. |
02:56 | હવે, ચાલો પ્રોગ્રામ એક્ઝીક્યુટ કરીએ. |
02:58 | તમારા કીબોર્ડ પર Ctrl+Alt અને T કી એકસાથે દાબીને ટર્મિનલ ખોલો. |
03:08 | પહેલા, ચાલો સીસ્ટમનું વર્તમાન યુઝર તપાસ કરીએ. |
03:12 | ટાઈપ કરો whoami |
03:15 | Enter દબાવો. |
03:17 | આનાથી વર્તમાન યુઝરનું નામ આઉટપુટ પર અપાશે. |
03:21 | હવે ચાલો આપણી સ્ક્રીપ્ટને એક્ઝીક્યુટ કરવા યોગ્ય બનાવીએ. |
03:25 | ટાઈપ કરો chmod +x strcompare ડોટ sh |
03:32 | ટાઈપ કરો ડોટ સ્લેશ strcompare ડોટ sh |
03:37 | આઉટપુટ આ પ્રમાણે દેખાય છે : |
03:39 | You have no permission to run dot slash strcompare dot sh as non-root user. |
03:47 | હવે ચાલો સમાન પ્રોગ્રામને root user (રૂટ યુઝર) તરીકે એક્ઝીક્યુટ કરીએ. |
03:52 | ટાઈપ કરો: sudo ડોટ સ્લેશ strcompare ડોટ sh |
03:58 | તે પાસવર્ડ માટે પ્રોમ્પ્ટ કરશે. |
04:01 | અહીં તમારો પાસવર્ડ આપો. |
04:04 | આઉટપુટ આ પ્રમાણે દેખાય છે: Welcome root!. |
04:08 | હવે, ચાલો file attributes (ફાઈલ એટ્રીબ્યુટો) ની તુલના વિશે શીખીએ. |
04:13 | મારી પાસે પહેલાથી જ કોડનું એક કાર્ય કરતુ ઉદાહરણ છે. |
04:17 | આ પ્રોગ્રામમાં, આપણે આપેલ ફાઈલ ઉપલબ્ધ છે કે નહી તે તપાસ કરીશું. |
04:23 | file1 આ વેરીએબલ છે જેમાં આપણે ફાઈલનો પાથ સંગ્રહીત કર્યો છે. |
04:29 | -(હાઈફન) f કમાંડ ફાઈલ ઉપલબ્ધ છે કે નહી |
04:33 | અને તે સામાન્ય ફાઈલ છે કે નહી તે તપાસે છે. |
04:37 | કંડીશન જો true (ટ્રુ) હોય, તો તે આપેલ echo (એકો) કરશે "File exists and is a normal file" |
04:44 | નહી તો, તે echo (એકો) કરશે "File does not exis" |
04:48 | terminal (ટર્મિનલ) પર પાછા જઈએ ચાલો આપણી ફાઈલ એક્ઝીક્યુટ કરીએ. |
04:53 | ટાઈપ કરો chmod plus x fileattrib ડોટ sh |
05:00 | ટાઈપ કરો : ડોટ સ્લેશ fileattrib ડોટ sh |
05:05 | આઉટપુટ આ રીતે દેખાય છે: |
05:07 | File exists and is a normal file. |
05:11 | હવે આપણે તપાસ કરીશું કે ફાઈલ ખાલી છે કે નહી. |
05:16 | આપણું પ્રોગ્રામ એક્ઝીક્યુટ કરીએ એ પહેલા, હું empty ડોટ sh નામની એક ખાલી ફાઈલ બનાવીશ. |
05:24 | ટાઈપ કરો gedit empty ડોટ sh એમ્પરસંડ ચિન્હ. |
05:31 | Save (સેવ) પર ક્લિક કરો, ફાઈલને બંધ કરો. |
05:35 | ચાલો - (હાઈફન) f એટ્રીબ્યુટનાં બદલે - (હાઈફન) s એટ્રીબ્યુટ બદલી કરીએ. |
05:41 | અહીં ફાઈલનેમ પણ બદલી કરીએ. |
05:45 | ટાઈપ કરો empty ડોટ sh |
05:47 | હવે, પહેલા echo statement (એકો સ્ટેટમેંટ) ને આપેલથી બદલી કરીએ : |
05:51 | “File exists and is not empty” |
05:54 | અને બીજા echo statement (એકો સ્ટેટમેંટ) ને આપેલથી બદલી કરીએ : |
05:57 | “File is empty” |
05:59 | Save (સેવ) પર ક્લિક કરો. |
06:01 | ટર્મિનલ પર પાછા આવીએ. |
06:03 | ચાલો હું પ્રોમ્પ્ટ સાફ કરું. |
06:06 | ચાલો એક્ઝીક્યુટ કરીએ. |
06:08 | ટાઈપ કરો : ડોટ સ્લેશ fileattrib ડોટ sh અને Enter દબાવો. |
06:13 | આઉટપુટ આ પ્રમાણે છે File is empty. |
06:17 | હવે, ચાલો બીજી ફાઈલ એટ્રીબ્યુટ જોઈએ, જે કે કોઈપણ ફાઈલની write premission (રાઈટ પરમિશન) તપાસ કરશે. |
06:24 | આપણા પ્રોગ્રામ પર પાછા આવીએ. |
06:26 | ચાલો - (હાઈફન) s એટ્રીબ્યુટથી - (હાઈફન) w બદલી કરીએ. |
06:32 | હવે પહેલા echo statement (એકો સ્ટેટમેંટ) નાં બદલે મુકીએ : |
06:36 | “User has write permission to this file” |
06:40 | અને બીજા echo statement (એકો સ્ટેટમેંટ) નાં બદલે મુકીએ : |
06:43 | “User doesn't have write permission to this file” |
06:47 | Save (સેવ) પર ક્લિક કરો. |
06:49 | આ ઉદાહરણ માટે હું જુદી ફાઈલને ઉપયોગમાં લઈશ. |
06:53 | હું એક એવી ફાઈલ પસંદ કરીશ, જે કે એક ન વાંચી શકનાર ફાઈલ છે અથવા કે write permission ધરાવતી નથી. |
07:01 | ચાલો હું filepath (ફાઈલપાથ) આપેલથી બદલી કરું |
07:04 | “slash etc slash mysql slash debian dot cnf” |
07:10 | Save (સેવ) પર ક્લિક કરો. |
07:12 | ચાલો આપણું પ્રોગ્રામ એક્ઝીક્યુટ કરીએ. |
07:15 | up-arrow key (અપ-એરો કી) દબાવો. Enter (એન્ટર) દબાવો. |
07:19 | આપણને આ રીતે આઉટપુટ મળે છે : |
07:21 | User doesn't have write permission to this file. |
07:26 | હવે, ચાલો ફાઈલ એટ્રીબ્યુટો પર આધારિત બીજું એક ઉદાહરણ જોઈએ. |
07:31 | આ ઉદાહરણમાં, આપણે તપાસ કરીશું કે file1 આ file2 કરતા નવી છે કે નહી. |
07:38 | ચાલો પ્રોગ્રામ જોઈએ. |
07:40 | આપણી ફાઈલનું નામ fileattrib2 ડોટ sh છે તેની નોંધ લો. |
07:46 | ચાલો કોડ મારફતે જઈએ. |
07:48 | અહીં આપણી પાસે બે વેરીએબલો છે file1 અને file2. |
07:53 | બે ફાઈલો પહેલાથી જ બનાવવામાં આવી છે અને તે ખાલી છે. |
07:58 | અહીં આપણે તપાસ કરીશું કે file1 આ file2 કરતા નવી છે કે નહી. |
08:04 | condition (કંડીશન) જો true (ટ્રુ) હોય, તો આપણે file1 is newer than file2 પ્રીંટ કરીએ છીએ. |
08:09 | નહી તો, file2 is newer than file1 પ્રીંટ કરીએ છીએ. |
08:14 | આ બીજું if statement (ઈફ સ્ટેટમેંટ) છે. |
08:16 | અહીં આપણે તપાસ કરીએ છીએ કે file1 આ file2 કરતા જૂની છે કે નહી. |
08:21 | condition (કંડીશન) જો true (ટ્રુ) હોય, તો આપણે file1 is older than file2 પ્રીંટ કરીએ છીએ. |
08:27 | નહી તો, આપણે file2 is older than file1 પ્રીંટ કરીએ છીએ. |
08:32 | આપણા ટર્મિનલ પર પાછા આવીએ. |
08:35 | પહેલા, આપણે empty1 ડોટ sh ફાઈલને એડિટ કરીશું. |
08:39 | હું આમાં એક echo statement (એકો સ્ટેટમેંટ) ઉમેરીશ. |
08:42 | ટાઈપ કરો : echo બમણા અવતરણમાં Hiii બમણા અવતરણ પછી greater than sign empty one ડોટ sh. અને Enter દબાવો. |
08:53 | હવે, ચાલો આપણી સ્ક્રીપ્ટને એક્ઝીક્યુટ કરવા યોગ્ય બનાવીએ. |
08:57 | ટાઈપ કરો chmod plus x fileattrib2 ડોટ sh |
09:03 | હવે ટાઈપ કરો ડોટ સ્લેશ fileattrib2 ડોટ sh |
09:09 | આપણને આ રીતે આઉટપુટ મળે છે : |
09:11 | file1 is newer than file2 |
09:15 | file2 is older than file1 |
09:19 | હવે ચાલો empty2 ડોટ sh ફાઈલને એડિટ કરીએ. |
09:23 | અહીં પણ હું એક echo statement (એકો સ્ટેટમેંટ) ઉમેરીશ. |
09:27 | ટાઈપ કરો echo બમણા અવતરણમાં How are you અવતરણ પછી (greater than sign) > empty2 ડોટ sh. |
09:38 | ચાલો હું પ્રોમ્પ્ટ સાફ કરું. |
09:41 | હવે ચાલો આપણી સ્ક્રીપ્ટને ફરીથી એક્ઝીક્યુટ કરીએ. |
09:45 | અપ-એરો કી દબાવો. |
09:47 | ડોટ સ્લેશ fileattrib2 ડોટ sh પર જાવ અને Enter દબાવો. |
09:53 | હવે આ રીતે આઉટપુટ દેખાય છે : |
09:55 | file2 is newer than file1 |
09:59 | અને file1 is older than file2 |
10:03 | અહીં આ ટ્યુટોરીયલનો અંત થાય છે. |
10:06 | ચાલો સારાંશ લઈએ. |
10:08 | આ ટ્યુટોરીયલમાં આપણે શીખ્યા, |
10:11 | String comparison (સ્ટ્રીંગની તુલના), file attributes (ફાઈલ એટ્રીબ્યુટો) |
10:14 | ==(ઈક્વલ ટુ ઈક્વલ ટુ) |
10:16 | != (નોટ ઈક્વલ ટુ), -f (હાઈફન f) |
10:18 | -s(હાઈફન s), -w(હાઈફન w) |
10:21 | -nt(હાઈફન nt), અને -ot (હાઈફન ot) એટ્રીબ્યુટો. |
10:25 | એસાઈનમેંટ તરીકે - હજુ કેટલાક એટ્રીબ્યુટોનું અન્વેષણ કરો. |
10:29 | ઉદાહરણ તરીકે: -r
-x અને -o |
10:33 | નીચે દર્શાવેલ લીંક પર ઉપલબ્ધ વિડીયો નિહાળો. |
10:36 | તે સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટનો સારાંશ આપે છે. |
10:40 | જો તમારી પાસે સારી બેન્ડવિડ્થ ન હોય તો, તમે વિડીયો ડાઉનલોડ કરીને જોઈ શકો છો. |
10:45 | સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટ ટીમ |
10:47 | સ્પોકન ટ્યુટોરીયલોનાં ઉપયોગથી વર્કશોપોનું આયોજન કરે છે. |
10:51 | જેઓ ઓનલાઈન પરીક્ષા પાસ કરે છે તેઓને પ્રમાણપત્રો આપે છે. |
10:55 | વધુ વિગતો માટે, કૃપા કરી, contact@spoken-tutorial.org પર લખો. |
11:02 | સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટ ટોક ટુ અ ટીચર પ્રોજેક્ટનો એક ભાગ છે. |
11:06 | જેને આઈસીટી, એમએચઆરડી, ભારત સરકાર મારફતે શિક્ષણ પર નેશનલ મિશન દ્વારા આધાર અપાયેલ છે. |
11:14 | આ મિશન પર વધુ માહિતી નીચે દર્શાવેલ લીંક પર ઉપલબ્ધ છે. http://spoken-tutorial.org/NMEICT-Intro |
11:19 | આ સ્ક્રીપ્ટ માટે ફાળો FOSSEE અને સ્પોકન ટ્યુટોરીયલ ટીમ દ્વારા અપાયેલ છે. |
11:25 | IIT Bombay તરફથી હું, જ્યોતી સોલંકી વિદાય લઉં છું. |
11:29 | જોડાવાબદ્દલ આભાર. |