shell编程基础
1.编写shell脚本的步骤
1.创建.sh文件,如myscript.sh。第一行中指定脚本应使用的shell。
#! /bin/bash
2.编写shell命令,每个命令占用一行。保存并退出。
3.将脚本文件设置为可执行文件。
chmod +x myscript.sh
4.运行脚本文件。
./myscript.sh
例:
#!/bin/bash
echo "Hello World!"
结果:
Hello World!
2.shell常用命令
2.1echo
在终端中打印文本。
echo "Hello, world!"
2.2read
从终端读取输入,并将其存储在变量中。
示例:提示用户输入其姓名,并将其存储在名为“name”的变量中。
echo "What is your name?"
read name
2.3for
执行一系列命令,针对列表中的每个项目执行一次。
示例:使用for循环在数字1到5之间进行迭代,并在每次迭代中打印数字。
for i in 1 2 3 4 5
doecho $i
done
2.4if
执行一系列命令,根据条件是否为真来选择要执行的命令。
示例:使用if语句检查文件是否存在,并在文件存在时打印一条消息。
if [ -e file.txt ]
thenecho "The file exists."
fi
2.5while
执行一系列命令,只要条件为真就会一直执行。
示例:使用while循环在数字1到5之间进行迭代,并在每次迭代中打印数字。
i=1
while [ $i -le 5 ]
doecho $ii=$((i+1))
done
2.6case
根据匹配的模式执行一系列命令。
示例:使用case语句检查变量“option”的值,并根据匹配的模式执行不同的命令。
case $option in1)echo "Option 1 selected.";;2)echo "Option 2 selected.";;*)echo "Invalid option selected.";;
esac
3.测试命令
-
test
测试条件是否为真。示例:使用test命令检查文件是否存在。
if test -e file.txt thenecho "The file exists." fi
-
[
测试条件是否为真。示例:使用[命令检查文件是否存在。
if [ -e file.txt ] thenecho "The file exists." fi
-
[[
测试条件是否为真。示例:使用[[命令检查字符串是否相等。
if [[ $str1 == $str2 ]] thenecho "The strings are equal." fi
4.其他命令
1. expr
计算数学表达式。
示例:使用expr命令计算1 + 2的值。
result=$(expr 1 + 2)
echo $result
2. bc
计算数学表达式。
示例:使用bc命令计算1.5 + 2.5的值。
result=$(echo "1.5 + 2.5" | bc)
echo $result
3. grep
在文件中查找匹配的文本。
示例:使用grep命令在名为“file.txt”的文件中查找包含“pattern”的行。
grep pattern file.txt
4. cut
从文本中提取字段。
示例:使用cut命令从名为“file.txt”的文件中提取第二列,并将其打印到终端。
cut -f 2 file.txt
5. sort
对文本进行排序。
示例:使用sort命令对名为“file.txt”的文件中的行进行排序,并将结果写入名为“output.txt”的文件中。
sort file.txt > output.txt
6. uniq
从文本中删除重复的行。
示例:使用uniq命令从名为“file.txt”的文件中删除重复的行,并将结果写入名为“output.txt”的文件中。
uniq file.txt > output.txt
7. wc
计算文本中的行数、单词数和字符数。
示例:使用wc命令计算名为“file.txt”的文件中的行数、单词数和字符数。```shell
wc file.txt
```
8. chown
更改文件或目录的所有者和组。
示例:使用chown命令将名为“file.txt”的文件的所有者更改为“user1”。
```shell
chown user1 file.txt
```
9. du
计算文件或目录的大小。
示例:使用du命令计算名为“file.txt”的文件的大小。```shell
du file.txt
```