linux shell基础(1)
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)相关推荐
- linux shell 基础 使用日志与心得
linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现 #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释 ...
- 一、Linux Shell基础
1.1.shell基础 Bash 是一个与Bourne Shell兼容的.执行从标准输入设备文件读取的命令的语言解释器.Bash是Bournae-Again Shell的缩写.Bash与原来的Unix ...
- linux 运行class文杰,Linux Shell基础知识,你想的到的都在这里
小编提示:此篇文章阅读时间为15分钟左右,可先收藏后阅读. 01/Linux 的江湖地位 Linux 作为一个全球用户超过14亿的操作系统,它的强大与神奇就不必多说了,混在IT界 Linux是可以装B ...
- Linux shell基础之变量声明和处理
本篇博客将讲解shell编程语言中最基础的变量声明和处理. 先来说一下set:声明变量 set:查看变量,可以看到有很多是系统提前设置好的变量,比如系统环境变量PATH,ls命令中颜色的变量LS_CO ...
- Linux shell 基础语法
常用变量的定义 //定义变量.获取变量值(数值型) $ a=1 $ echo ${a} 1 //定义变量.获取变量值(字符串) $ a="hello world" $ echo $ ...
- linux创建zip+函数,linux+shell基础知识
目录: 1.路径: 2.进程: 3.清屏和退出当前命令操作: 4.ls 参数: 5.创建目录\文件\复制文件: 6.查看文件内容: 7.linux通配符: 8.grep: 9.终止命令: 10.搜索文 ...
- Linux Shell基础 - Shell 脚本的执行方式
01.Shell:是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面 系统级程序,用户可以用Shell来启动.挂载.停止甚至是编写一些程序. 02.Shell:是一个功能强 ...
- Linux Shell 基础语法 流程控制 逻辑运算 字符串操作详细解析
文章目录 1 shell 简单入门 1.1 shell分类 1.2 shell脚本 1.3 Shell 脚本四种启动方式 2 shell 变量 2.1 普通变量 2.1.1 定义变量 2.1.2 变量 ...
- linux 字符串加入中括号,Linux Shell 基础 -- 总结几种括号、引号的用法
1.双引号 " " 双引号常用于包含一组字符串,在双引号中,除了 "$".""." ` (反引号)"有特殊含义外,其余字 ...
- linux shell基础
在window编辑好的Shel文件上传到linux ,会有格式错误 Linux 回车符为$,但是window编辑好的shelll的回车符是 解决这个问题用dos2unix 命令转换 如果没有这个命令, ...
最新文章
- 2012 r2 万能网卡驱动_老旧台式机也可升级WiFi6和蓝牙5.1,仅安装百元网卡即可...
- seo技巧-2015/10/05
- kafka消费者和生产者为内/外网映射情况的配置
- XSS和CSRF详解与防御
- 使用有限状态机(FSM)解释shell 命令
- java语言怎样判断文件夹_JAVA语言之如何判断文件,判断文件夹是否存在的代码...
- 网络爬虫--3.str和bytes的区别
- linux lib目录找不到,linux中jpeglib库文件我安装了,但是我运行自己写的代码总是找不到这个库...
- Spring main方法中怎么调用Dao层和Service层的方法
- html 中加载字体太慢,css字体文件包太大无法引入怎么处理?
- phpstudy 提示安装VC9 VC14等,MySQL启动失败红色小点点,解决办法。PHP VC版本下载集合
- 2022前端vue面试题
- 文字栅格化剪切蒙版——创建文字遮罩效果的两种方法——梦幻游乐园
- TP5.1数据库安全
- 《面试官不讲武德》对Java初级程序猿死命摩擦Http协议
- 烤星 DeFi 课堂 | 去中心化交易所适合小白用吗?
- 做了个抓取全网群二维码和个人二维码的平台
- 【转】怎样运行 Vue 打包后的项目
- 38、程序中的三国天下
- 南加州大学计算机科学案例,南加州大学计算机科学录取案例
热门文章
- Java同步组件之CountDownLatch,Semaphore
- java mvc 源码分析_SpringMVC 源码解读笔记
- 修复 github 项目的语言属性
- Congratulations! A Success Case on GDPR
- 从零开始学 Web 之 JS 高级(二)原型链,原型的继承
- composer QA
- c编程:求出4#215;4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和。...
- synchronized可重入锁
- 计算机系统的组成doc,简述计算机系统的组成.doc
- Python适合初学者入门