Shell脚本基础,管道,重定向,Shell变量
Linux并不用文件名的后缀来区分文件格式,但是习惯上我们还是用".sh"来表示一个shell脚本文件
刚刚写完的一个shell脚本程序通常是没有执行权限的,需要手动$chmod +x filename.sh来添加可执行权限
开头
任何一个shell脚本程序都必须在开头用#!
标识使用的shell程序,如果用的是bash,那就是#!/bin/sh
注释
shell脚本一行中的#
之后的部分为注释
管道
管道是管理Linux十分有用的工具,它可以把前一个命令的结果直接传递给后一个命令
$grep "test" file1.txt | wc -l
重定向
所谓重定向即将输入输出从标准的输入输出重定向到其他位置,比如从文件输入或输出到文件>
如果文件不存在就创建文件并将内容写入,如果文件存在就把文件清空再写入内容>>
如果文件不存在就创建文件并将内容写入,如果文件存在就在原文件后面写入内容
$echo "this is echo" > echo_content.txt
定义变量
shell脚本的变量在使用前不需要"声明",什么时候用,就什么时候定义
shell脚本的变量也不区分整型、浮点型etc,所有的变量在解释器看来都是字符串
shell脚本的字符串可以使用" "
也可以使用' '
有Python经验的程序员可能会在运算符的前后大量的使用[空格]来使程序更加整齐,但是shell里不能这样,因为解释器会把[空格]也看做变量名的一部分,导致程序出错
var="Hello Shell" cur_ver=1.1
使用变量
shell用$
来取一个变量的值,如果有歧义,可以使用{}
来对变量进行标识
echo $var echo $variable #解释器会去寻找**variable**这个变量,但这个变量是不存在的,没有值 echo ${var}iable echo $cur_ver
输出的结果
相关推荐
彼岸随笔 2020-10-20
yutou0 2020-10-17
jarrygao 2020-11-02
shipinsky 2020-09-23
touchfuture 2020-09-16
hongsheyoumo 2020-09-04
firefaith 2020-10-30
libao 2020-09-16
Yyqingmofeige 2020-08-18
xiaoyuerp 2020-08-17
以梦为马不负韶华 2020-08-16
tianhuak 2020-11-24
huha 2020-10-16
lianshaohua 2020-09-23
laisean 2020-11-11
zhangjie 2020-11-11
大牛牛 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20