开头:#!/bin/sh
用来告诉系统,用/bin/sh来执行程序。
加权限:chmod +x filename
有的用户还要更改文件用户为执行用户 如:chown hadoop:hadoop filename
之后才能用 ./filename执行
脚本中可以加注释,前面用#
shell 中命令和系统中输入的命令相同,注意加 延时 如:sleep 30s 等待程序执行完毕
shell 中可以定义变量 注意亮点;
1.变量无需声明,都是字符串或数字
2.= 号前后无空格字符,否则被认为是命令,不是变量
3.要表示数字时,在字符串中使用时前加{},单独使用时不需要
4.let 可以对数字变量赋值
a="hello world"
echo "A is:"
echo $a
let num=num+1
echo $num
打印: 3
num=2
echo "this is the ${num}nd"
管道 (|) 将一个命令的输出作为另外一个命令的输入.
grep "hello" file.txt | wc -l
在file.txt中搜索包含有”hello”的行并计算其行数。在这里grep命令的输出作为wc命令的输入。当然您可以使用多个命令。
重定向:将命令的结果输出到文件,而不是标准输出(屏幕)。
> 写入文件并覆盖旧文件
>> 加到文件的尾部,保留旧文件内容。
反短斜线
使用反短斜线( ` )可以将一个命令的输出作为另外一个命令的一个命令行参数。