15
Shell Features

Lecture1 3 shells

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Lecture1 3 shells

Shell Features

Page 2: Lecture1 3 shells

Section Overview

I/O Substitution

Pathname Substitution

Parameter/Variable Substitution

Command Substitution

Page 3: Lecture1 3 shells

UNIX Shell

Enables users to enter commandsText basedSimilar to MSDOS Command Prompt (but are much more powerful)Common Shells Bourne: sh, ksh, bash C: csh, tcsh

Page 4: Lecture1 3 shells

Shell Features

Environment variables and aliasesHistory of commands usedProgramming constructsAdded features in newer shells Command line editing Command line completion

Shell configuration files

Page 5: Lecture1 3 shells

Command History/Editing

Most shells maintain a history of previously entered commandshistory: View list of commands!#: Rerun command number #Command line editing Up/down arrow keys to cycle through list Left/right arrow keys to move within listed

command <ctrl><a>: move to start of command line <ctrl><e>: move to end of command line

Page 6: Lecture1 3 shells

Command Aliases

Shortcut for command lineSet/view using the alias commandExamples: alias ls='ls --color=tty' alias rm='rm –i'

Page 7: Lecture1 3 shells

Shell Variables

Customize environmentShared settings for programsAssigning Variables: var=“value”Referencing Variables: $varViewing variables: set, printenvVariables are case sensitive

Page 8: Lecture1 3 shells

Special Shell Variables

HOME – User’s home directory pathSHELL – Current shellUID – User’s UID numberPATH – Program search pathPS1/PS2 – Format for command prompt (prompt for csh/tcsh)

Must use “export” to set variables in shell

Page 9: Lecture1 3 shells

Parsing the Command Line

Breaks the command line into componentsSpecial Characters modify operation How command runs Filename Expansion I/O redirection Quotes

Page 10: Lecture1 3 shells

Command Run Modifiers

Write Space – Separate argumentsNewline (<cr>) – End of lineSpecial Characters

CharacterCharacter MeaningMeaning

; Separate multiple command on same line

& Run command in the background

\ At end of line, continue on next line

|| && Logical operators based on exit status

Page 11: Lecture1 3 shells

Filename Expansion

Special characters representing multiple filenamesAlso referred to as globbing

CharacterCharacter MatchesMatches

* 0 or more characters

? 1 character

[ ] Matches any 1 character in [ ](including ranges)

[^ ] Matches any 1 character not in [ ](including ranges)

Page 12: Lecture1 3 shells

I/O Redirection

Modifies how input and output is usedChain command to solve bigger tasks

CharactersCharacters ResultResult

command < file Use file as input for command

command > file Store command output in file

command >> file Append command output to file

command << label Input from standard input until label

`command` Execute command then replace command name with its output

cmd1 | cmd2 Use output from cmd1 as input to cmd2

Page 13: Lecture1 3 shells

Standard File Descriptors

Special file pointers for input and outputExtension from C language

NameName DescriptorDescriptor Default DeviceDefault Device

Standard input (stdin) 0 Keyboard

Standard output (stdout) 1 Screen

Standard error (stderr) 2 Screen

Page 14: Lecture1 3 shells

Using File Descriptors

Finer control over input/output redirectionstdout and stderr can be redirected to same file

CharactersCharacters ResultResult

command 2> file stderr output stored in file

cmd >& <file-descriptor> Output redirected to <file-descriptor>

Cmd > file 2>&1 Stderr & stdout redirected to file

Page 15: Lecture1 3 shells

Quote Characters

Prevent special characters from being interpreted by the shell

CharacterCharacter NameName ActionAction

‘ Single Quote Shell ignores all special characters enclosed ‘ ’

“ Double Quote Shell ignores all special characters enclosed “ ”except for $ ‘ \

\ Backslash Shell ignores character immediately following \