Shell学习笔记

这段时间工作中需要写些Spark大数据脚本,用到了Shell脚本,基本都是靠抄前人的代码,就是替换一下SQL,写完了有时候也有点懵🤔️。好久之前就想好好学一下sh脚本,一直没有时间💦,这次要认真学完💪

第一个shell脚本

#!/bin/bash

:<< EOF
注释1
注释2
EOF

echo "Hello world!"

添加执行权限:chmod +x start.sh 后执行脚本:./start.sh

shell变量

变量定义和操作

  • 字母A-Z ➕ 数字🔢 ➕ 下划线_
  • 不能以数字开头、不能包含bash关键字⚠️
username="Bob"
echo "username is \"${username}\""
  • 变量赋值等号两边不能有空格

单引号字符串会原样输出,双引号可以转义字符、读取变量

  • 使用readonly指定只读变量,只读变量不能被修改

  • 使用unset删除变量

#!/bin/bash

readonly TEN=10

username="Bob"
echo "username的值为:\"${username}\""
echo "TEN is ${TEN}"

字符串操作

  • 字符串长度
username="John"
echo "length is $