目录
函数
基本的使用方式
Avoid duplicating code in our scripts
#!/usr/bin/env bash
# 1st way to define a function
function Hello() {
local LNAME=$1
echo "Hello $LNAME"
# or simply:
echo "Hello $1"
}
# 2nd way, emitting the word "function"
Goodbye() {
echo "Goodbye"
}
# Calling the functions after defining them
Hello Bob # No parenthesis when calling the function
# Bob is the first parameter passed to the function
Goodbye # They are invoked by their name like other linux command
exit 0
Pipes的使用
Pipes let us take the output of one program and feed it to the input of another.
Exceptionally sophiscated programs can be created simply by piping commands together.
#!/usr/bin/env bash
FILES=`ls -1 | sort -r | head -3`
# ls -1: runs the ls command and limits the columns to one
# sort -r: reverse the sort order
# head -3: take the first three results
COUNT=1
for FILE in $FILES
do
echo "File #$COUNT = $FILE"
((COUNT++))
done
exit 0
实例
Get first 10 files in alphabetical order in the current directory and print their names.
#!/usr/bin/env bash
function GetFiles() {
FILES=`ls -1 | sort | head -10`
}
function ShowFiles() {
local COUNT=1
for FILE in $@
do
echo "FILE #$COUNT = $FILE"
((COUNT++))
done
}
GetFiles
ShowFiles $FILES
exit 0
References
LinkedIn Learning: https://www.linkedin.com/learning/learning-linux-shell-scripting-2018
这篇博客介绍了Linux Shell脚本的基础,包括if-else分支、for/while循环和函数的定义与调用。通过示例展示了如何使用函数避免代码重复,并利用管道进行程序间的数据传递。还给出了从当前目录中按字母顺序获取前10个文件名的完整脚本示例。
1521

被折叠的 条评论
为什么被折叠?



