How to run shell programs in vi editor

 

Shell provides you with an interface to the Unix system. It gathers input from you and executes programs based on that input. When a program finishes executing, it displays that program's output.

Shell is an environment in which we can run our commands, programs, and shell scripts. There are different flavors of a shell, just as there are different flavors of operating systems. Each flavor of shell has its own set of recognized commands and functions.

A shell is a command-line interpreter and typical operations performed by shell scripts include file manipulation, program execution, and printing text.

 

The prompt, $, which is called the command prompt, is issued by the shell. While the prompt is displayed, you can type a command.

 

In Unix, there are two major types of shells −

·        Bourne shell − If you are using a Bourne-type shell, the $ character is the default prompt.

·        C shell − If you are using a C-type shell, the % character is the default prompt.

The Bourne Shell has the following subcategories −

  • Bourne shell (sh)
  • Korn shell (ksh)
  • Bourne Again shell (bash)
  • POSIX shell (sh)

The different C-type shells follow −

  • C shell (csh)
  • TENEX/TOPS C shell (tcsh)

The original Unix shell was written in the mid-1970s by Stephen R. Bourne while he was at the AT&T Bell Labs in New Jersey.

Bourne shell was the first shell to appear on Unix systems, thus it is referred to as "the shell".

Bourne shell is usually installed as /bin/sh on most versions of Unix. For this reason, it is the shell of choice for writing scripts that can be used on different versions of Unix.

Editor

 Editor is a program that allows user to see a portions a file on the screen and modify characters and lines by simply typing at the current position. UNIX supports variety of Editors. They are:

 ed

ed is the original UNIX text editor, and it’s the most basic you can work with. It’s also very rarely used, if ever used, by most people.

emacs

emacs is an awesome editor and it’s historically regarded as the editor for UNIX systems. Famously vi vs emacs flame wars and heated discussions caused many unproductive hours for developers around the world.

nano

nano is a more beginner friendly editor.

Run it using nano <filename>.

You can directly type characters into the file without worrying about modes.

You can quit without editing using ctrl-X. If you edited the file buffer, the editor will ask you for confirmation and you can save the edits, or discard them.

 

Pico editor

Same as nano

 

 

Introduction to Vi(Visual Editor)

 

Under Linux, there is a free version of Vi called Vim (Vi Improved). Vi (pronounced vee-       eye) is an editor that is fully in text mode, which means that all actions are carried out with the help of text commands. This editor, although it may appear of little practical use at first, is very powerful and can be very helpful in case the graphical interface malfunctions.

Syntax : vi name_of_the_file

Once the file is open, you can move around by using cursors. Press I to switch to insert Mode. Press escape key to switch to command mode, 

Basic commands

Description


:q Quit the editor (without saving)

:q! Forces the editor to quit without saving

: wq Saves the document and quits the editor

: filename Saves the document under the specified name

: set nu set serial number to lines

  How to write shell script

 Following steps are required to write shell script:

 (1)  Use any editor like vi or mcedit to write shell script.

 (2)      After writing shell script set execute permission for your script as follows

syntax:

chmod permission your-script-name

 

Examples:

$ chmod +x your-script-name

$ chmod 755 your-script-name

 

Note: This will set read write execute(7) permission for owner, for group and other permission is read and execute only(5).

 

ls -l command earlier presented a long of listing file with a line like the following for each file:

 

-rw-r--r--    1 root   user   0   2009-04-28 08:26 newfile.txt

 

Here the first character in   the first column (-) indicates that the file is a normal file. The next 9 characters indicate the access permissions for the file. The next set of 9 characters is divided into3 groups of 3 cha- racters. Purpose of these characters is as under:

 

(-) represents no permission

(r) represents 'read' permission

(w)   represents 'write' permission

(x)  represents 'execute' permission

 

Permission

Octal number

Equivalent Symbol

Read

4

r--

Write

2

-w-

Execute

1

--x

 


The three group represents user (owner of the file), group(to which the owner belongs) and others (any other user of the system) respectively. Three characters in each group are for 'read', 'write' and 'execute' permission respectively.

 

In our example, the owner has 'read' and 'write' permission for the file and everyone else has only read permission. For a normal file, read, write and execute permissions are obvious. For a directory, read and write permissions mean that to read the contents of the directory and create new entries in the directory. Execute permission means that one can search in the directory but not read from or write to the directory.

 

You can use the chmod command to change the access permissions of a file or a directory. To specify permissions for a file with chmod, any of the following two methods can be used.

 

Symbol

Meaning

u

User

g

Group

o

Other

a

All (equals to ugo)

+

Add Permission

-

Remove a permission

r

Read Permission

w

Write permission

x

Execute permission

 

Syntax: chmod u+x filename

Comments

Popular posts from this blog

How to create Animated 3d chart with R.

Linux/Unix Commands frequently used

R Programming Introduction