BASH/C2/String-and-File-attributes/Gujarati
From Script | Spoken-Tutorial
Revision as of 12:27, 2 January 2015 by Jyotisolanki (Talk | contribs)
Title of script: String and File Attributes comparison in Bash
Author: Ashwini Patil
Keywords: video tutorial, ==, !=, string compare, file attributes.
Time | Narration |
---|---|
00:01 | બેશમાં String and File Attributes comparison પરના પરનાં આ સ્પોકન ટ્યુટોરીયલમાં સ્વાગત છે. |
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 | બેશમાં string ની તુલના કરવાના બે માર્ગો છે . |
00:49 | 1) પ્રથમ == (equal to equal to) વાપરીને |
00:53 | બે equal strings. સ્ટ્રીંગની તુલના કરવી. |
00:56 | 2) બીજું : != (not equal to) ઓપરેટર વાપરીને. |
00:59 | બે not equal strings ની તુલના કરવી.
|
01:03 | ચાલો ઉદાહરણ જોઈએ. |
01:06 | મારી પાસે અહી એક સરળ પ્રોગ્રામ છે જે યુઝર આઈડી ને તપાસે છે.
|
01:11 | તમારા એડિટર પર ફાઈલ ખોલો અને તેને strcompare dot sh તરીકે સેવ કરો. |
01:19 | હવે, અહી બતાવેલ કોડ તમારી strcompare dot sh ફાઈલમાં ટાઈપ કરો. |
01:26 | ચાલો કોડ સમજાવું. |
01:28 | આ shebang line. છે |
01:31 | whoami command gives the username of the current user. |
01:36 | The if statement checks the output of the variable whoami against the string “root”.
|
01:44 | We have used not-equal to operator here to compare the strings. |
01:50 | If the current user is not the root user, then it will echo this statement - |
01:57 | “You have no permission to run strcompare dot sh as non-root user.”
|
02:05 | Here $0 (dollar zero) is the zeroeth argument which is a filename itself. |
02:13 | If the user is the root user, it will echo - “Welcome root!” |
02:18 | Then we have the exit statement for the program.
|
02:23 | And here with fi we end the if statement.
|
02:28 | Let us switch back to our slides to know more about the exit statement. |
02:34 | Every program returns an exit status. |
02:38 | A successful command returns a 0 (zero). |
02:42 | An erroneous command returns a non-zero value. |
02:47 | It can be interpreted as an error code. |
02:51 | We can customize return value of the exit statement . |
02:56 | Now, let's execute the program. |
02:58 | Open the terminal by pressing Ctrl+Alt and T keys simultaneously on your keyboard. |
03:08 | First, let's check the current user of the system. |
03:12 | Type whoami |
03:15 | Press Enter. |
03:17 | This will output the name of the current user. |
03:21 | Now let's make our script executable. |
03:25 | Type chmod +x strcompare dot sh
|
03:32 | Type dot slash strcompare dot sh
|
03:37 | The output is displayed as: |
03:39 | You have no permission to run dot slash strcompare dot sh as non-root user. |
03:47 | Now let's execute the same program as root user. |
03:52 | Type: sudo dot slash strcompare dot sh |
03:58 | It will prompt for an password. |
04:01 | Give your password here. |
04:04 | The output is displayed as: Welcome root!. |
04:08 | Now, let's learn about the file attributes comparison. |
04:13 | I already have a working example of the code. |
04:17 | In this program, we will check whether a given file exists or not. |
04:23 | file1 is the variable in which we save the path of the file. |
04:29 | -(hyphen) f command checks whether the file exists or not. |
04:33 | And whether it is a normal file. |
04:37 | If the condition is true, it will echo "File exists and is a normal file" |
04:44 | Else, it will echo "File does not exis" |
04:48 | Switch back to the terminal let us execute our file. |
04:53 | Type chmod plus x fileattrib dot sh
|
05:00 | Type: dot slash fileattrib dot sh |
05:05 | The output is displayed as:
|
05:07 | File exists and is a normal file.
|
05:11 | Now we will check whether the file is empty or not. |
05:16 | Before executing our program, I will create an empty file named as empty dot sh. |
05:24 | Type gedit empty dot sh ampersand sign |
05:31 | Click on Save, close the file. |
05:35 | Let us replace - (hyphen) f attrib with - (hyphen) s attribute. |
05:41 | Replace the filename here as well. |
05:45 | Type empty dot sh |
05:47 | Now, replace the first echo statement with: |
05:51 | “File exists and is not empty” |
05:54 | And the second echo statement with: |
05:57 | “File is empty”
|
05:59 | Click on Save. |
06:01 | Come back to the terminal. |
06:03 | Let me clear the prompt. |
06:06 | Let's execute. |
06:08 | Type dot slash fileattrib dot sh press Enter. |
06:13 | The output is File is empty. |
06:17 | Now, let us see another file attribute, which will check the write premission of any file.
|
06:24 | Come back to our program. |
06:26 | Let us replace the - (hyphen) s attribute with - (hyphen) w. |
06:32 | Now replace the first echo statement with:
|
06:36 | “User has write permission to this file” |
06:40 | And the second echo statement with: |
06:43 | “User doesn't have write permission to this file” |
06:47 | Click on Save. |
06:49 | I will use a different file for this example. |
06:53 | I will select a file, which is not a readable file or which does not have write permission. |
07:01 | Let me change the filepath to |
07:04 | “slash etc slash mysql slash debian dot cnf” |
07:10 | Click on Save. |
07:12 | Let us execute our program. |
07:15 | Press the up-arrow key. Press Enter. |
07:19 | We see that the output is displayed as: |
07:21 | User doesn't have write permission to this file. |
07:26 | Now, let us see another example based on file attributes. |
07:31 | In this example, we will check whether file1 is newer than file2. |
07:38 | Let us see the program. |
07:40 | Note that our filename is fileattrib2 dot sh |
07:46 | Let's go through the code. |
07:48 | Here we have two variables file1 and file2. |
07:53 | The two files have already been created and are empty. |
07:58 | Here we check whether file1 is newer than file2. |
08:04 | If the condition is true, we print file1 is newer than file2. |
08:09 | Else, file2 is newer than file1. |
08:14 | This is another if statement. |
08:16 | Here we check whether file1 is older than file2. |
08:21 | If the condition is true, we print file1 is older than file2. |
08:27 | Else, we print file2 is older than file1. |
08:32 | Come back to our terminal. |
08:35 | First, we will edit empty1 dot sh file |
08:39 | I will just add an echo statement in it. |
08:42 | Type: echo within doubel quotes Hiii after the double quotes greater than sign empty one dot sh. Press Enter. |
08:53 | Now, let us make our script executeable. |
08:57 | Type chmod plus x fileattrib2 dot sh |
09:03 | Now type dot slash fileattrib2 dot sh
|
09:09 | We see the output as: |
09:11 | file1 is newer than file2 |
09:15 | file2 is older than file1 |
09:19 | Now let's edit empty2 dot sh file. |
09:23 | Here also I will add an echo statement.
|
09:27 | Type echo within double quotes How are you after the quotes (greater than sign) >empty2 dot sh. |
09:38 | Let me clear the prompt. |
09:41 | Now let us execute our script again. |
09:45 | Press the up-arrow key. |
09:47 | Go to dot slash fileattrib2 dot sh Press Enter.
|
09:53 | Now the output is displayed as: |
09:55 | file2 is newer than file1 |
09:59 | And file1 is older than file2 |
10:03 | This brings us to the end of this tutorial.
|
10:06 | Let us summarise. |
10:08 | In this tutorial we learnt, |
10:11 | String comparison |
10:12 | file attributes |
10:14 | ==(equal to equal to) |
10:16 | != (not equal to) |
10:17 | -f (hyphen f) |
10:18 | -s(hyphen s) |
10:19 | -w(hyphen w) |
10:21 | -nt(hyphen nt) |
10:22 | and -ot (hyphen ot)attributes. |
10:25 | As an assignment |
10:26 | Explore some more attributes. |
10:29 | Ex: -r
-x and -o |
10:33 | Watch the video available at the link shown below |
10:36 | It summarises the Spoken Tutorial project |
10:40 | If you do not have good bandwidth, you can download and watch it |
10:45 | The Spoken Tutorial Project Team |
10:47 | Conducts workshops using spoken tutorials |
10:51 | Gives certificates to those who pass an online test |
10:55 | For more details, please write to contact@spoken-tutorial.org |
11:02 | Spoken Tutorial Project is a part of the Talk to a Teacher project |
11:06 | It is supported by the National Mission on Education through ICT, MHRD, Government of India |
11:14 | More information on this Mission is available at the link shown below . |
11:19 | The script has been contributed by Fossee and spoken-tutorial team. |
11:25 | This is Ashwini Patil from IIT Bombay signning off. |
11:29 | Thank You for joining. |