shell编程:

编译器,解释器

编程语言:机器语言、汇编语言、高级语言

高级语言

静态语言:编译型语言,事先转换成可执行格式

强类型(变量)

关键字:

C、C++、JAVA、C#、、

动态语言:解释型语言,(onthe fly)边解释边执行,运行(执行)时需要解释器

弱类型

ASP、ASP.NET、PHP、SHELL、PYTHON、PERL

lua

shell,python,perl至少精通一种

面向过程:把编程着眼点或立足点主要在于问题解决过程  一般适用于小型编程

面向对象:把要实现的项目抽象为一个一个对象,并定义对像之间的动作或可发生的操作

一般适用于大型编程

shell,c是纯面向过程

java,python是纯面向对象

perl,c++即是即面向过程,也面向对象,c++是非常复杂的面向对象的语言

编程能力:

脚本编程

变量:变量是内存空间;变量是命名的内存空间;

内存:编址的存储单元

进程:

变量类型:事先确定数据的存储格式和长度

字符

数值

整型

浮点型

时间型

布尔型

逻辑:1+1>2

逻辑运算:与、或、非、异或

1:真

0:假

与运算

1 & 0 = 0

0 & 1 = 0

0 & 0 = 0

1 & 1 = 1

电路中的与运算:串联的两个开关为操作数,灯亮为真,灯灭为假

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

1 | 1 = 1

电路中的或运算:并联的两个开关为操作数,灯亮为真,灯灭为假

!1=0

!0=1

电路中非运算:操作数为开关1,

当开关1闭合,磁电产生磁场,磁场将开关2断开,灯灭

当开关1断开,磁电不产生磁场,开关2自然闭合,灯亮

异或运算:两个操作数相同得0,两个操作数不同得1

程序中有三种演算子:XOR、xor、⊕

1⊕1=0

0⊕0=0

1⊕0=1

0⊕1=1

短路逻辑运算

与运算的短路逻辑:只要有一个为假,结果肯定为假

或运算的短路逻辑:只要有一个为真,结果肯定为真

shell 是弱类型编程语言

强:变量在使用前,必须事先声明,甚至还需要初始化;

空为null

弱:变量用时声明(意思是直接拿来用);甚至不区别类型;

显示转换

隐示转换

变量赋值:VAR_NAME=VALUE

BASH变量类型

环境变量

本地变量(局部变量)

位置变量

特殊变量(系统变量)

本地变量:

引用变量(替换变量):${VARNAME},通常情况下{}可以省略

‘’为强引用(替换):内部引用的变量不会被替换

“”为弱引用(替换):内部引用的变量会被替换

声明本地变量(作用域:整个BASH进程)

[set]  VARNAME=VALUE

set可以省略

声明局部变量(作用域:当前代码段)

[set] local   VARNAME=VALUE

声明环境变量(作用域:当前SHELL进程及其子shell进程)

[set] export  VARNAME=VALUE

“导出”

位置变量:

$1,$2,…

特殊变量:

$?:保存上一个命令的执行状态返回值;

程序执行结果

程序状态返回代码(0-255)

0:正确执行

1-255:错误执行,1,2,127系统预留,其他的可以用户自行定义;

输出重定向:

>  覆盖重定向

>> 追加重定向

2> 错误重定向

2>> 错误追加重定向

&> 同时重定向

/dev/null:设备,软件模拟设备,bit bucket,数据黑洞

撤消变量

unset VARNAME

查看当前shell变量

set  包括环境变量和本地变量

查看当前shell中的环境变量

printenv

env

export

特殊变量和位置变量不能查看

脚本在执行时会启动一个子shell进程:

命令行中启动的脚本会继承当前shell环境变量

系统自动执行的脚本(非命令行启动)就需要自我定义需要的各环境变量

脚本:命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序

shebang:魔数

转载于:https://blog.51cto.com/cgsstone/1709443

linux shell基础(1)相关推荐

  1. linux shell 基础 使用日志与心得

    linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现 #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释 ...

  2. 一、Linux Shell基础

    1.1.shell基础 Bash 是一个与Bourne Shell兼容的.执行从标准输入设备文件读取的命令的语言解释器.Bash是Bournae-Again Shell的缩写.Bash与原来的Unix ...

  3. linux 运行class文杰,Linux Shell基础知识,你想的到的都在这里

    小编提示:此篇文章阅读时间为15分钟左右,可先收藏后阅读. 01/Linux 的江湖地位 Linux 作为一个全球用户超过14亿的操作系统,它的强大与神奇就不必多说了,混在IT界 Linux是可以装B ...

  4. Linux shell基础之变量声明和处理

    本篇博客将讲解shell编程语言中最基础的变量声明和处理. 先来说一下set:声明变量 set:查看变量,可以看到有很多是系统提前设置好的变量,比如系统环境变量PATH,ls命令中颜色的变量LS_CO ...

  5. Linux shell 基础语法

    常用变量的定义 //定义变量.获取变量值(数值型) $ a=1 $ echo ${a} 1 //定义变量.获取变量值(字符串) $ a="hello world" $ echo $ ...

  6. linux创建zip+函数,linux+shell基础知识

    目录: 1.路径: 2.进程: 3.清屏和退出当前命令操作: 4.ls 参数: 5.创建目录\文件\复制文件: 6.查看文件内容: 7.linux通配符: 8.grep: 9.终止命令: 10.搜索文 ...

  7. Linux Shell基础 - Shell 脚本的执行方式

    01.Shell:是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面 系统级程序,用户可以用Shell来启动.挂载.停止甚至是编写一些程序. 02.Shell:是一个功能强 ...

  8. Linux Shell 基础语法 流程控制 逻辑运算 字符串操作详细解析

    文章目录 1 shell 简单入门 1.1 shell分类 1.2 shell脚本 1.3 Shell 脚本四种启动方式 2 shell 变量 2.1 普通变量 2.1.1 定义变量 2.1.2 变量 ...

  9. linux 字符串加入中括号,Linux Shell 基础 -- 总结几种括号、引号的用法

    1.双引号 " " 双引号常用于包含一组字符串,在双引号中,除了 "$".""." ` (反引号)"有特殊含义外,其余字 ...

  10. linux shell基础

    在window编辑好的Shel文件上传到linux ,会有格式错误 Linux 回车符为$,但是window编辑好的shelll的回车符是 解决这个问题用dos2unix 命令转换 如果没有这个命令, ...

最新文章

  1. 2012 r2 万能网卡驱动_老旧台式机也可升级WiFi6和蓝牙5.1,仅安装百元网卡即可...
  2. seo技巧-2015/10/05
  3. kafka消费者和生产者为内/外网映射情况的配置
  4. XSS和CSRF详解与防御
  5. 使用有限状态机(FSM)解释shell 命令
  6. java语言怎样判断文件夹_JAVA语言之如何判断文件,判断文件夹是否存在的代码...
  7. 网络爬虫--3.str和bytes的区别
  8. linux lib目录找不到,linux中jpeglib库文件我安装了,但是我运行自己写的代码总是找不到这个库...
  9. Spring main方法中怎么调用Dao层和Service层的方法
  10. html 中加载字体太慢,css字体文件包太大无法引入怎么处理?
  11. phpstudy 提示安装VC9 VC14等,MySQL启动失败红色小点点,解决办法。PHP VC版本下载集合
  12. 2022前端vue面试题
  13. 文字栅格化剪切蒙版——创建文字遮罩效果的两种方法——梦幻游乐园
  14. TP5.1数据库安全
  15. 《面试官不讲武德》对Java初级程序猿死命摩擦Http协议
  16. 烤星 DeFi 课堂 | 去中心化交易所适合小白用吗?
  17. 做了个抓取全网群二维码和个人二维码的平台
  18. 【转】怎样运行 Vue 打包后的项目
  19. 38、程序中的三国天下
  20. 南加州大学计算机科学案例,南加州大学计算机科学录取案例

热门文章

  1. Java同步组件之CountDownLatch,Semaphore
  2. java mvc 源码分析_SpringMVC 源码解读笔记
  3. 修复 github 项目的语言属性
  4. Congratulations! A Success Case on GDPR
  5. 从零开始学 Web 之 JS 高级(二)原型链,原型的继承
  6. composer QA
  7. c编程:求出4#215;4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和。...
  8. synchronized可重入锁
  9. 计算机系统的组成doc,简述计算机系统的组成.doc
  10. Python适合初学者入门