linux之shell
shell是什么?
shell是一个命令行解释器,他为用户提供了一个想linux内核发送请求以方便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序

shell脚本的执行方式
脚本格式要求
1.脚本以#!/bin/bash开头
2.脚本需要有可执行过权限
编写一个脚本
创建一个脚本,输出hello world!
#!/bin/bash
echo "hello world"
脚本常用的执行方式
1.输入脚本的绝对路径或者相对路径

首先是授权,再执行脚本
2.不授权,sh+脚本直接执行

sh helloworld.sh
shell变量
变量介绍
1.shell中的变量分为:系统变量和自定义变量
2.系统变量:\(HOME、\)PWD、\(SHELL、\)USER等等,比如:echo $HOME等等
3.显示当前shell中所有变量:set
shell变量语法
1.定义变量:变量=值
2.撤销变量:unset 变量
3.声明静态变量:readonly 变量,注意:不能unset
#!/bin/bash
# 定义变量A
A=2
# 输出便来那个需要加上$
echo $A
echo "A=$A"
# 撤销变量A
unset A
echo $A
# 生命静态变量B=2,不能unset
readonly B=2
echo $B
unset B
shell变量的定义
1.变量名称可以是字母、数字、下划线,但是不能数字开头
2.等号两侧不能有空格
3.变量名称一般是大写
将命令的返回值赋给变量
1.A=date反引号,运行里面的命令,并把结果返回给变量A
2.A=$(date)等价于反引号
# 将命令的返回值赋给变量
C=`date`
echo $C
D=$(date)
echo $D
设置环境变量
1.export 变量名=变量值(将shell变量输出为环境变量/全局变量)
2.source 配置文件(让修改后的配置信息立即生效)
3.echo $变量名(查询环境变量的值)
# tomcat_home的变量
echo "TOMCAT_HOME=$TOMCAT_HOME"
多行注释
:<<!
# 生命静态变量B=2,不能unset
readonly B=2
echo $B
unset B
!
位置参数变量
当执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量。
比如:./myshell.sh 100 200,这个就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息
$n:(n为数字,$0代表命令本身,$1-\(9代表第一个到第九个参数,10以上的参数,需要使用大括号包含,如\){10})
\(*:(这个变量代表命令行中所有的参数,\)*把所有的参数看成了一个整体)
\(@:(这个变量也代表命令行中所有的参数,不过\)@把每个参数区分对待)
$#:(这个变量代表命令行中所有参数的个数)
echo "$0 $1 $2 $3"
echo "所有的参数: $*"
echo "$@"
echo "参数的个数:$#"
执行命令
[root@localhost shellcode]# ./position.sh 100 200 300
./position.sh 100 200 300
所有的参数: 100 200 300
100 200 300
参数的个数:3
预定义变量
shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/16421843.html

浙公网安备 33010602011771号