您的位置:首页 > 运维架构 > Shell

bash脚本学习(实验楼笔记)

2018-01-18 16:56 204 查看
一、入门

vim test.sh

键盘:i --INSERT

#!bin/bash LInux系统通过#!和字串后面的信息确定文件的类型

#注释

echo "Hello Wolrd" 输出

eg:(清除日志信息)

> 重定向符号

echo "hehe">test.txt 将“hehe”写入到test.txt文件中

#!/bin/bash

# 初始化一个变量

LOG_DIR=/var/log

cd $LOG_DIR

cat /dev/null > wtmp

echo "Logs cleaned up."

exit
------------------------------------------------------------------------------------------------------------------------
二、语法
1.# 注释
2.分号
(1)命令分隔符 ---单分号;

#!/bin/bash

echo hello; echo there

filename=ttt.sh

if [ -e "$filename" ]; then # 注意: "if"和"then"需要分隔,-e是判断文件存在否

echo "File $filename exists."; cp $filename $filename.bak

else

echo "File $filename not found."; touch $filename

fi; echo "File test complete."
(2)终止case语句----双分号 ;;

#!/bin/bash

varname=b

case "$varname" in

[a-z]) echo "abc";;

[0-9]) echo "123";;

esac
3.点号 ----相当于source
4.引号
双引号与单引号

1.双引号(")

"STRING" 将会阻止(解释)STRING中大部分特殊的字符

2.单引号(')

'STRING' 将会阻止STRING中所有特殊字符的解释,这是一种比使用"更强烈的形式
5.斜线与反斜线

斜线:/ 路径分隔符

反斜线:\ 转义符号
6.反引号 ` 优先执行

eg:$ cp `mkdir back` test.sh back

$ ls

先创建目录,再进行复制
7.冒号 :

1.空命令

等价于“NOP”(no op,一个什么也不干的命令)。也可以被认为与shell的内建命令true作用相同。“:”命令是一个bash的内建命令,它的退出码(exit status)是(0)。

(1)

#!/bin/bash

while : #等价于 while true

do

echo "endless loop"

done

(2)
8.问号 ?
9.美元符号 $
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: