一、sh脚本基础
sh脚本是一种运行在Unix/Linux环境下的脚本语言,使用普遍。当编写sh脚本时,需要先在文件的开头声明解释器,例如:
#!/bin/sh
这个声明告诉操作系统,该脚本应使用“/bin/sh”解释器解释执行。
sh脚本中的注释以“#”开头,例如:
# This is a comment
注释可用于解释代码、提醒自己或其他编写人员,或禁用代码片段。
sh脚本语句可用分号或换行符分隔,例如:
echo "Hello, world!"; date
或者:
echo "Hello, world!"
date
上述两种写法都输出“Hello, world!”和当前日期时间。
二、变量和参数
sh脚本中的变量使用美元符号($)引用,例如:
foo="hello"
echo $foo
上述代码将“hello”分配给变量“foo”,然后输出变量“foo”的值“hello”。
sh脚本中可使用位置参数来访问命令行参数。位置参数包括脚本名$0和参数$1-$n。例如:
echo "The script name is: $0"
echo "The first argument is: $1"
上述代码将输出脚本名和第一个参数的值。
三、条件语句
sh脚本中的条件语句使用if...then...fi结构。例如:
if [ $foo == "hello" ]
then
echo "foo is hello"
fi
上述代码检查变量“foo”的值是否等于“hello”,如果是,则输出“foo is hello”。
sh脚本中还可使用if...then...else...fi结构。例如:
if [ $foo == "hello" ]
then
echo "foo is hello"
else
echo "foo is not hello"
fi
上述代码检查变量“foo”的值是否等于“hello”,如果是,则输出“foo is hello”,否则输出“foo is not hello”。
四、循环结构
sh脚本中的循环结构使用for和while语句。例如,for循环可用于迭代数组、文件列表等:
for i in 1 2 3 4 5
do
echo $i
done
上述代码迭代数字列表1-5,并输出每个数字。
while循环可用于重复执行命令,直到条件不再符合。例如:
while [ $foo == "hello" ]
do
echo "foo is still hello"
done
上述代码将无限循环,直到变量“foo”的值不等于“hello”。
五、函数
sh脚本中可定义函数以重用代码。例如:
# 定义函数
function hello {
echo "Hello, $1!"
}
# 调用函数
hello "world"
hello "John"
上述代码定义了函数“hello”,并使用其输出“Hello, world!”和“Hello, John!”。
六、结尾语
本文介绍了一些与sh脚本编写命令相关的知识点,包括sh脚本基础、变量和参数、条件语句、循环结构、函数等。希望这些知识对您有所帮助。