sunqi08201329/sunqi0207
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
README File for Mastering UNIX Shell Scripting - Second Edition Author: Randal K. Michael ======== Publisher's note: Please note when downloading the compressed files from our website, some versions of IE may rename the file. If your browser renames the archive file, please make sure you change the name back before extracting the original files from the archive. ======== The Mastering_UNIX_SS.tar.Z and Mastering_UNIX_SS.tar.gz files are compressed tar archives that contain sample code from the second edition of Mastering UNIX Shell Scripting. Please note that there is an errata (a description of an error in the book's edited code) posted in the next paragraph, followed by some notes. Please be assured that the shell scripts and functions in this package were never affected by the mistake in the book's edited code pertaining to the word "Bash". I hope you gain some knowledge from this book, shell scripts, and the set of functions packaged here. ERRATA: (This is the errata for the first 4,000 copies of this book.) During the course of editing this book, a global search-and-replace was conducted that changed all instances of "bash" to "Bash" in the code. Given that UNIX is case-sensitive, references in the code should be to "bash". Note that all the original code available at the Downloads tab of this page was never affected. The result was limited to the first line of Bash shell scripts, defined as: #!/bin/Bash Instead, the correct declaration should be: #!/bin/bash In the book you may also see some Bash shell script filenames incorrectly named with a ".Bash" filename extension instead of the correct ".bash" filename extension. For example, the filename: my_shell_script.Bash should actually be: my_shell_script.bash Thanks for your understanding. AUTHOR NOTES: I) Extracting the shell scripts and functions to your system: The Mastering_UNIX_SS.tar.Z and Mastering_UNIX_SS.tar.gz files are compressed tar archives of the shell scripts and functions in the book, and some extras in a few areas. When you extract this archive, you will see chapter directories that contain the code in each chapter in the book that has downloadable code. For example, when you untar the archive, the following subdirectories will be created (assuming you have the file permissions, that is). chapter1 chapter2 chapter4 chapter5 Notice there is not a "chapter3" subdirectory. This is because there is no downloadable code in this chapter. To extract the archive, first create a directory, or just change the directory to where you want extract the archive. Option 1: Extracting the compressed Mastering_UNIX_SS.tar.Z archive. Copy the Mastering_UNIX_SS.tar.Z file to your desired top-level directory, and then execute the following commands. The following uncompress command will uncompress the archive image file: uncompress ./Mastering_UNIX_SS.tar.Z The following tar command will untar the archive image file to the current directory: tar -xvpf ./Mastering_UNIX_SS.tar Option 2: Extracting the gzipped Mastering_UNIX_SS.tar.gz archive. Copy the Mastering_UNIX_SS.tar.gz file to your desired top-level directory, and then execute the following commands. The following gunzip command will uncompress the archive image file: gunzip ./Mastering_UNIX_SS.tar.gz The following tar command will untar the archive image file to the current directory: tar -xvpf ./Mastering_UNIX_SS.tar Both archives contain the same information. II) Using the echo command in Bash shell: The echo command executes differently depending on the UNIX shell you are executing it in. A specific situation is using the echo command's backslash operators, such as: echo "\n" # To produce a newline echo "\c" # To continue on the same line without a # carriage return or line feed and many others. Of all the methods covered in this book to properly use the echo command when Bash shell is involved, the most reliable method is aliasing the echo command for use in a Bash shell environment. Many Korn shell scripts will execute in a default Bash shell if /bin/ksh is not installed. By adding the following case statement to the top of your code, it will not be necessary to use echo -e when dealing with the echo command's backslash operators if your ksh script should happen to execute in a Bash shell. This is common on many Linux systems. You can also use this in your Bash scripts if you want to omit adding the -e to your echo statement when writing your shell scripts. case $(basename $SHELL) in bash) alias echo="echo -e" ;; esac Now anytime the echo command is used in a script that is executing in Bash shell, echo -e will be substituted, enabling the backslash operators \n, \c, \t, and so on. III) How individual functions are separated into individual files: When this book's script/function archive is installed to your system, each function that is its own file will have the following filename format: "function_" followed by the name of the actual function in the script. For example: If the real function name in the script or book is: check_file_system Then the filename for this individual function would be: function_check_file_system ---- Thanks for buying my book. I hope the answer to every scripting problem you encounter will be intuitively obvious when you finish reading this second edition! Cheers, Randy
About
0207
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published