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