C shell和TC shell效仿了C语言的预防,儿Bourne shell基于一门古老的编程语言Algol
Bash和Korn shell则综合了Bourne和C shell
Bash Shell语法和结构:
The shbang line
#!/bin/bash
Comment
# This is a comment
Wildcards
rm *; ls ??; cat file[1-3];
echo "How are you?"
Display output
echo "How are you?"
Local variables
variable_name=value
declare variable_name=value
name="John Doe"
x=5
Global variables
export VARIABLE_NAME=value
declare -x VARIABLE_NAME=value
export PATH=/bin:/usr/bin:.
Extracting values from variables
echo $variable_name
echo $name
echo $PATH
Reading user input
echo "What is your name?"
read name
read name1 name2 ...
Arguments
$ scriptname arg1 arg2 arg3 ...
echo $1 $2 $3
echo $*
echo $#
Arrays
set apples pears peaches (positional parameters)
echo $1 $2 $3
declare -a array_name=(word1 word2 word3)
declare -a fruit=( apples pears plums)
echo $(fruit[0])
Command substitution
variable_name=`command`
variable_name=$( command )
echo $variable_name
echo "Today is `date`"
echo "Today is $(date)"
Arithmetic
declare -i variable_name
typeset -i variable_name
(( n=5 + 5))
echo $n
Operators
==
!=
&&
||
!
>
>=
<
<=
Conditional statements
if command
then
block of statements
else if command
then
block of statements
else
block of statements
fi
case variable_name in
pattern1)
statements
;;
pattern2)
statements
;;
esac
Loops
while command
do
block of statements
done
for variable in word_list
do
block of statements
done
Functions
function_name() {
block of code
}
function function_name {
block of code
}
Invitation example of Bash:
#!/bin/bash
# GNU bash versions 2.x
# The Party Program––Invitations to friends from the "guest" file
guestfile=~/shell/guests
if [[ ! –e "$guestfile" ]]
then
printf "${guestfile##*/} non–existent"
exit 1
fi
export PLACE="Sarotini's"
(( Time=$(date +%H) + 1 ))
declare -a foods=(cheese crackers shrimp drinks `"hot dogs"` sandwiches)
declare -i n=0
for person in $(cat $guestfile)
do
if [[ $person == root ]]
then
continue
else
# Start of here document
mail –v –s "Party" $person <<- FINIS
Hi $person! Please join me at $PLACE for a party!
Meet me at $Time o'clock.
I'll bring the ice cream. Would you please bring
${foods[$n] and anything else you would like to eat?
Let me know if you can make it.
Hope to see you soon.
Your pal,
ellie@$(hostname)
FINIS
n=n+1
if (( ${#foods[*]} == $n ))
then
declare -a foods=(cheese crackers shrimp drinks `"hot dogs"` sandwiches)
n=0
fi
fi
done
printf "Bye..."
分享到:
相关推荐
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...
学习unix shell编程不错的材料。
Shell脚本编写是Shell学习中的高级技能。Shell脚本允许用户将多个命令组合在一起,自动化执行一系列任务。Shell脚本包括变量的定义和使用、条件测试、字符串和数组的操作、控制流结构如循环和条件判断、函数的定义和...
shell学习01
**Shell脚本学习指南** Shell脚本是Linux和Unix系统中的强大工具,它允许用户通过编写脚本来自动化一系列命令操作,极大地提高了系统管理和任务执行的效率。本文将深入探讨shell脚本的基础知识,包括语法、变量、...
3. **创建Shell程序**:创建第一个Shell程序通常通过`touch hello.sh`命令创建文件,然后在文件中添加声明(如`#!/bin/bash`)和基本的输出命令(如`echo "Hello world!"`)。文件权限的修改至关重要,例如使用`...
shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识
学习Shell不仅能够提升Linux/Unix操作效率,还能为自动化任务和系统管理提供强大工具。通过阅读书籍、实践编写脚本、参考在线文档,逐步熟悉和掌握Shell的各个方面,你将成为一个熟练的Shell脚本开发者。
《Shell脚本学习手册》 Shell,是Linux系统中的一种命令语言和程序设计语言,它由C语言编写,作为用户与操作系统内核交互的桥梁。Shell不仅提供了命令行接口,还允许用户编写脚本程序,实现自动化任务处理。本文将...
Shell编程是Linux/Unix系统中不可或缺的一部分,它是一种命令行解释器,允许用户与操作系统进行交互,执行系统命令,以及编写脚本自动化任务。...不断学习和实践,你将能够熟练运用这些工具,提升工作效率。
Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手
一些shell脚本的学习指南。一些典型的例子
作为学习Shell脚本的指南,这本书籍旨在帮助读者深入理解Shell脚本语言的原理,掌握编写高效、可维护脚本的技巧。 1. **基础概念** - **Shell**: Shell是用户与操作系统内核之间的接口,它提供了一种命令行界面,...
学习shell脚本。适合初学者,容易理解。
学习Shell脚本不仅是提升个人技能的关键步骤,也是成为高效Linux系统管理员的必经之路。掌握上述Shell的基本特性和概念后,进一步深入学习Shell脚本编程将变得更为顺畅。建议初学者通过阅读更多相关书籍或在线资源,...