Difference between revisions of "Centos Bash Shell Scripts"
(8 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
or | or | ||
env | env | ||
[[File:Escape sequence.jpg|thumb|Escape Sequence]] | |||
[[File:Test Statements.jpg|thumb|Test Statements]] | |||
==Environmental Files== | ==Environmental Files== | ||
Files that execute each time a user logs in to bash shell | Files that execute each time a user logs in to bash shell | ||
Line 13: | Line 14: | ||
~/.bash_login | ~/.bash_login | ||
~/.profile | ~/.profile | ||
The BASH runtime configuration files (/etc/bashrc and ~/.bashrc) are typically used to set aliases and variables that must be present in the BASH shell. They are executed immediately after a new login as well as when a new BASH shell is created after login. The /etc/bashrc file contains aliases and variables for all users on the system, whereas the ~/.bashrc file contains aliases and variables for a specific user. <br /> | |||
The other environment files are only executed after a new login. The /etc/profile file is exe- cuted after login for all users on the system and sets most environment variables, such as HOME and PATH. After /etc/profile finishes executing, the home directory of the user is searched for the hidden environment files. bash_profile, .bash_login, and .profile. If these files exist, the first one found is executed; as a result, only one of these files is typically used. These hidden environment files allow a user to set customized variables independent of BASH shells used by other users on the system; any values assigned to variables in these files override those set in /etc/profile, /etc/bashrc, and ~/.bashrc due to the order of execution | |||
==Structure of a bash Script== | |||
#!/bin/bash | |||
echo -e "Today’s date is: \c" | |||
date echo –e "\nThe people logged into the system include:" | |||
who | |||
echo –e "\nWould you like to see the contents of /?(y/n)--> \c" | |||
read ANSWER if [ $ANSWER = "y" ] | |||
then echo –e "\nThe contents of the / directory are:" | |||
ls –F / | |||
fi | |||
==Case Construct == | |||
==For Loop== | |||
#!/bin/bash | |||
echo –e "What directory has the files that you would like to rename? --> \c" | |||
read DIR | |||
for NAME in $DIR/* | |||
do mv $NAME $NAME.txt | |||
[[Category:Bash]] |
Latest revision as of 14:21, 28 August 2019
List Environment Variables
set # you can | to grep to filter or env
Environmental Files
Files that execute each time a user logs in to bash shell
/etc/profile /etc/bashrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile
The BASH runtime configuration files (/etc/bashrc and ~/.bashrc) are typically used to set aliases and variables that must be present in the BASH shell. They are executed immediately after a new login as well as when a new BASH shell is created after login. The /etc/bashrc file contains aliases and variables for all users on the system, whereas the ~/.bashrc file contains aliases and variables for a specific user.
The other environment files are only executed after a new login. The /etc/profile file is exe- cuted after login for all users on the system and sets most environment variables, such as HOME and PATH. After /etc/profile finishes executing, the home directory of the user is searched for the hidden environment files. bash_profile, .bash_login, and .profile. If these files exist, the first one found is executed; as a result, only one of these files is typically used. These hidden environment files allow a user to set customized variables independent of BASH shells used by other users on the system; any values assigned to variables in these files override those set in /etc/profile, /etc/bashrc, and ~/.bashrc due to the order of execution
Structure of a bash Script
#!/bin/bash echo -e "Today’s date is: \c" date echo –e "\nThe people logged into the system include:" who echo –e "\nWould you like to see the contents of /?(y/n)--> \c" read ANSWER if [ $ANSWER = "y" ] then echo –e "\nThe contents of the / directory are:" ls –F / fi
Case Construct
For Loop
#!/bin/bash echo –e "What directory has the files that you would like to rename? --> \c" read DIR for NAME in $DIR/* do mv $NAME $NAME.txt