linux笔记_day10_shell编程
1.shell编程
编程语言
静态语言:编译型语言 强类型(变量在使用前,必须事先声明) 事先转换成可执行语言
动态语言:解释型语言 弱类型(变量用时声明,拿来直接用,甚至不区分数据类型,一般默认都为字符串) on the fly 边解释边执行 perl shell python(面向对象) php 解释器通常都是静态语言开发的
变量:内存空间,命名
变量类型:实现定义数据的存储格式和存储长度
字符
数值
整型
浮点型 11.12 (怎么存:分开存的,11存一下,12存一下,.的位置存一下)
2013/10/10 64bit(字符)
缓冲区溢出:溢出的数据,覆盖了其他进程的数据,刚好控制了其他进程。
如何防止呢?判断是否能存下
内存:编址的存储单元
进程:
1+10000000 用一个变量1-100000 我们看到的是变量名---cpu看到的是地址
变量赋值:VAR_NAME=VALUE
bash:变量类型:
环境变量
本地变量(局部变量)
位置变量
特殊变量
本地变量:(整个bash进程)
name=jerry
local varname=value (局部变量,作用域为当前代码段)
引用变量:${VARNAME},括号有时候可以省略

环境变量:作用域为当前shell进程及其子进程
定义: 1)export VARNAME=VALUE "导出"
2)VARNAME=VALUE
export VARNAME
命令行中启动的脚本在执行时会启动一个子shell进程,会继承当前shell环境变量
系统自动启动(非命令行启动),就需要自我定义需要各环境变量
位置变量:$1 $2 引用脚本的参数
shift Shift positional parameters.
shift: shift [n]
特殊变量:$?:上一个命令执行状态返回值;
程序执行,可能有两类返回值
程序执行结果
程序状态返回码(0-255)
0:正确执行
1-255:表示错误 1,2,127系统预留;
$#: 参数个数
$*: 参数列表
$@:参数列表

撤销变量:unset VARNAME
查看当前shell 中的变量 set (包括当前环境变量和本地变量)
查看环境变量 export
printenv
env
追加:export PATH=$PATH:/oracle/bin
第一个脚本:

执行unix或linux中除了path系统变量外的目录下的命令都要加./
执行unix或linux中除了path系统变量外的目录下的命令都要加./。
修改用户的 .bash_profile,在 PATH一行最后加上 “:.” (一个冒号,一个点) ,然后退出重新登陆用户就ok了! PATH中没有定义路径,加上就ok了。
./表示当前目录,这是因为linux的默认搜索目录里没有当前目录,所以如果你在当前目录需要执行程序就要加上路径./,用全路径代替也是可以的。

linux笔记_day10_shell编程的更多相关文章
- linux笔记_day12_shell编程
1.shell中如何进行算术运算 A=1 B=2 1)let 算术运算表达式 let C=$A+$B 2)$[算术运算表达式] C=$[$A+$B] 3)$(($A+$B)) 4) expr 算术表达 ...
- linux笔记_day11_shell编程
1.条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式: [ expression ] 必须有空格 [[ expression ]] test expression 整数比较 : -eq ...
- 《Linux/Unix系统编程手册》读书笔记 目录
<Linux/Unix系统编程手册>读书笔记1 (创建于4月3日,最后更新4月7日) <Linux/Unix系统编程手册>读书笔记2 (创建于4月9日,最后更新4月10日) ...
- 《Linux/Unix系统编程手册》读书笔记9(文件属性)
<Linux/Unix系统编程手册>读书笔记 目录 在Linux里,万物皆文件.所以文件系统在Linux系统占有重要的地位.本文主要介绍的是文件的属性,只是稍微提及一下文件系统,日后如果有 ...
- 《Linux/Unix系统编程手册》读书笔记8 (文件I/O缓冲)
<Linux/Unix系统编程手册>读书笔记 目录 第13章 这章主要将了关于文件I/O的缓冲. 系统I/O调用(即内核)和C语言标准库I/O函数(即stdio函数)在对磁盘进行操作的时候 ...
- 《Linux/Unix系统编程手册》读书笔记7 (/proc文件的简介和运用)
<Linux/Unix系统编程手册>读书笔记 目录 第11章 这章主要讲了关于Linux和UNIX的系统资源的限制. 关于限制都存在一个最小值,这些最小值为<limits.h> ...
- 《Linux/Unix系统编程手册》读书笔记6
<Linux/Unix系统编程手册>读书笔记 目录 第9章 这章主要讲了一堆关于进程的ID.实际用户(组)ID.有效用户(组)ID.保存设置用户(组)ID.文件系统用户(组)ID.和辅助组 ...
- 《Linux/Unix系统编程手册》读书笔记5
<Linux/Unix系统编程手册>读书笔记 目录 第8章 本章讲了用户和组,还有记录用户的密码文件/etc/passwd,shadow密码文件/etc/shadow还有组文件/etc/g ...
- 《Linux/Unix系统编程手册》读书笔记4
<Linux/Unix系统编程手册>读书笔记 目录 第7章: 内存分配 通过增加堆的大小分配内存,通过提升program break位置的高度来分配内存. 基本学过C语言的都用过mallo ...
随机推荐
- 20135220谈愈敏Linux Book_5
第五章 系统调用 内核提供了用户进程与内核进行交互的一组接口. 应用程序发出请求->内核负责满足 目的:保证系统稳定可靠 5.1 与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层 ...
- 读书笔记(chapter18)
调试 18.1准备开始 18.2内核中的bug 1.从隐藏在源代码中的错误到展现在目击者面前的bug,往往是经历一系列连锁反应的事件才可能触发的 18.3通过打印来调试 1.健壮性 健壮性是print ...
- 20135337朱荟潼 Linux第二周学习总结——操作系统是如何工作的
一.计算机是如何工作的--总结 三个法宝 存储程序计算机.函数调用堆栈.中断机制 二.堆栈 1.是c语言程序运行时必须的一个记录调用路径和参数的空间. 函数调用框架.传递参数.保存返回地址.提供局部变 ...
- linux第一次实验报告
http://wwwcnblogs.com/20135228guoyao/4964477.html
- (Alpha)Let's-技术文档(技术规格说明书)
技术规格说明书 抽象 首先,对抽象原则的理解,“抽象”这一概念本身就很抽象.抽象体现的是一种概括能力.我们生活中遇到的很多客体,其在某些方面具备有一些相似甚至相同的性质,以这些特点而非事物本身来认识鉴 ...
- android 权限
1.开发的apk如果想要使用其他组件提供的功能,需要获取对应的权限.android提供了一些权限,在Manifest.permission类中定义. 比较常用的权限:
- Latex使用:在latex中添加算法模块
在Miktex下有三个latex algorithm包,分别为:algorithm,algorithmic,algorithm2e三个,其中algorithm,algorithmic经常成套使用: l ...
- 导入appiumlibrary显红
1.点击ride中的Tools的View RIDE Log 2.打开日志报如下错误,提示没有six这个模块,可能是最新包的要对python版本兼容 3.所以使用pip install six安装包后 ...
- Luogu4768 NOI2018归程(最短路径+kruskal重构树)
按海拔从大到小合并建出kruskal重构树,这样就能知道开车能到达哪些点,对这些点到1的最短路取min即可.最难的部分在于多组数据的初始化和数组大小的设置. #include<iostream& ...
- 【BZOJ1413】[ZJOI2009]取石子游戏(博弈论,动态规划)
[BZOJ1413][ZJOI2009]取石子游戏(博弈论,动态规划) 题面 BZOJ 洛谷 题解 神仙题.jpg.\(ZJOI\)是真的神仙. 发现\(SG\)函数等东西完全找不到规律,无奈只能翻题 ...