码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程基本语法和变量

时间:2019-11-12 21:46:06      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:比较   空格   tor   配置文件   unset   基本语法   str   roo   告诉   

一.编写shell脚本基本格式

拿最简单的hello word举例

.#!/bin/bash       
echo 'hello world'
  • .#!/bin/bash:告诉计算机,使用bash解释器来执行代码
  • echo: 打印

二.运行shell脚本

方法一(推荐使用)

chmod 777 myshell.sh

#给文件权限

./myshell.sh

#运行文件

方法2

sh myshell.sh

三.注释

单行注释
#内容

多行注释
:<<!
内容
!

四.定义变量

基本语法

1.定义变量:变量名=变量值
2.撤销变量:unset 变量名
3.声明静态变量:readonly 变量名     #静态变量不能unset

将命令执行结果返回变量
1.A=`ls -la` 反引号
2.A=$(ls -la) 等价于反引号

系统变量:
    $PATH
    $HOME
    $PWD
    $SHELL
    $USER   

五.设置环境变量

基本语法

export 变量名=变量值      将shell变量输出给环境变量
source 配置文件名称          让修改后的配置信息立即生效
echo $变量值                 查看环境变量的值


举例
vim a.sh
export a = 111
:wq
source a.sh
echo $a
111

六.位置参数变量

主要是给shell脚本传参数

$n (功能描述:n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})

$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)

$@  (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)


$#(功能描述:这个变量代表命令行中所有参数的个数)

举例

a.sh脚本里面的内容

#!/bin/bash  

echo $2   #展示第二个参数
echo $*   #这个整体
echo $@   #这个分开for循环中才有提现
echo $#   #传参的个数

执行

[root@ywy ~]# sh a.sh 1 2 3
a.sh: line 1: .#!/bin/bash: No such file or directory
2
1 2 3
1 2 3
3

七.预定义变量

就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用

$$  (功能描述:当前进程的进程号(PID))
$!  (功能描述:后台运行的最后一个进程的进程号(PID))
$?  (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行失败)

八.变量的基本运算

运算表达式

1.$((运算式))  #$((1+1)) 不要有空格
2.$[运算式]   #$[1+1]  不要有空格
上面两种运算符号都是普通的不要\注释掉


这种比较特别
3.`expr m + n`  #`expr 1 + 1`  运算符之间必须要有空格 
+   #加
-   #减
/   #除
%   #取余
\*  #乘
\(  \)  #括号

shell编程基本语法和变量

标签:比较   空格   tor   配置文件   unset   基本语法   str   roo   告诉   

原文地址:https://www.cnblogs.com/pythonywy/p/11845442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!