Shell脚本入门学习笔记
1.shell操作系统和用户之间。负责解释命令行
2./etc/shells 记录登录系统有效支持shell
3./etc/passwd 最后,有人谁可以看到用户的默认shell
4.直接输入shell的名称 能够切换shell
5.shell命令的记录能够用history查看 history -c 清除
历史命令存放在.bash_history文件里
6.shell的指令能够用 alias 别名 = 实际名 来替换
取消则用 unalias 别名
7.shell变量
<1>定义变量 变量名=变量值 能够用echo $变量名 来输出变量值
注:用{$变量名}能够与其它相关联 如 echo{$变量名}_变量名 则显示 变量值_变量名
<2>赋值 (双引號,单引號,反撇号)
双引號:同意$引用变量值输出 echo "xx xx $变量名" 则显示 xx xx 变量值
单引號:不同意$引用变量值 同上 则显示 xx xx $变量名
反撇号(TAB键):(反撇号里面一定是能够运行的命令及其命令组合)将命令的结果进行赋值
read赋值:read + 变量名 则会须要在键盘处手动输入一个变量值给变量名
若read+多个变量名,在输入变量值时用空格分开。
更有用的命令 read -p "please input xxxxx :" + 变量名
<3>变量的作用范围
export 变量名 能够将一个变量声明为全局变量(能够在子shell中使用这个变量)
能够在定义时就export xx = xxx
用unset 变量名 来消除
<4>变量的运算
例:
2元相加 expr $X + $Y //加号两边没空格 会显示 值+值
2元相乘 expr $X \* $Y
补:
<5>规则:
变量名=变量值 等号两端不能有空格
变量名称仅仅能用字母和数字,当中数字不能开头
如有空格须要用双引號或单引號括起来 (双引號的特殊字符保存原本意义,单引號仅仅是字符意义。见<2>)
必要时能够用转义字符\
能够用env命令 查看shell的提前定义变量 (env | more)
变量PS1为输入命令时前面那一串东西 能够自己更改
8.重定向
标准输出重定向:
> 写入、覆盖
>> 追加
标准输入重定向:
< 读取文件
标准错误 2>
9.执行环境设置
!/bin/bash
#为凝视
10.运行shell
./完整路径/shell (当前文件夹./shell)
解释器+shell (bash shell)
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Shell脚本入门学习笔记的更多相关文章
- Shell脚本的学习笔记一:变量
三种变量: 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需 ...
- Linux Shell脚本编程学习笔记和实战
http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...
- Mac下Shell脚本使用学习笔记(二)
参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 (7)Shell echo命令: 命令格式:echo string ①显示普通字符串:echo "It is a ...
- Mac下Shell脚本使用学习笔记(一)
参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 1.使用终端创建test.sh: (1)进入指定文件夹路径(命令示例:cd Desktop/面向对象程序设计): (2)创 ...
- shell脚本编程学习笔记(一)
一.脚本格式 vim shell.sh #!/bin/bash //声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program: //程序内容说明 #History: //时间和作者 二.sh ...
- shell脚本编程学习笔记(三)编写邮件报警脚本
一.shell编写邮件报警脚本 1.POSTFIX邮件服务器准备 a.首先卸载服务器上自带的sendmail rpm -qa sendmail* //查看安装的sendmail rpm -e send ...
- Shell脚本的学习笔记二:字符串
菜鸟教程提供的Shell在线编辑器 Shell 字符串 项目 功能 单引号 原样输出,变量无效.但可用成对单引号嵌套成对单引号输出变量 双引号 定义字符串中附带有变量的命令并且想将其解析后再输出的变量 ...
- shell脚本编程学习笔记(四)shell操作数据库
一.数据库基本操作 1)登录mysql服务器:mysql -u root -p 密码 2)查看数据库:show databases 3)查看表:show tales from db; 4)查看表结构: ...
- shell脚本编程学习笔记(二)linux服务器启动流程
一.linux服务器启动流程 1.bios找到磁盘上的mbr主引导扇区 2.进入grub洁面选择相应的启动内核 3.读取kernel内核文件-/boot/vmlinuz-* 4.读取init的镜像文件 ...
随机推荐
- 【27.77%】【BZOJ 4066】简单题
Time Limit: 50 Sec Memory Limit: 20 MB Submit: 1919 Solved: 533 [Submit][Status][Discuss] Descript ...
- 【35.43%】【hdu 4347】The Closest M Points
Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 98304/98304 K (Java/Others) Total Submissio ...
- [GraphQL] Add an Interface to a GraphQL Schema
As we start building out more complex GraphQL schemas, certain fields start to repeat across differe ...
- Android Material Design 5.0 PickerDialog
5.0系统下的时间选择器效果图: 该项目兼容到3.0下面所以用第三方开源项目:actionbarsherlock,动画效果兼容:nineoldandroids-2.4.0.jar,格式转换器:joda ...
- Android JNI -基础篇
JNI(Java Native Interface,JAVA本地接口) 可以使Java代码和其他语言写的代码(如C/C++代码)进行交互.为什么要进行交互? 首先,Java语言提供的类库无法满足要求, ...
- 分布式ID解决方案
开发十年,就只剩下这套Java开发体系了 >>> 在游戏开发中,我们使用分布式ID.有很多优点 便于合服 便于ID管理 等等 一.单服各自ID系统的弊端 1. 列如合服 在游戏上 ...
- 跟上 Java 8 – 了解 lambda
原文出处: 王爵nice 从java8出现以来lambda是最重要的特性之一,它可以让我们用简洁流畅的代码完成一个功能. 很长一段时间java被吐槽是冗余和缺乏函数式编程能力的语言,随着函数式编程的流 ...
- OSGI简介—HelloWorld
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wanghuan203/article/details/13631713 本次介绍的 HelloWor ...
- hadoop 3.x Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
启动hdfs后执行share目录中自带的mapreduce程序时报如下错误 找到$HADOOP_HOME/etc/mapred-site.xml,增加以下配置 <property> < ...
- matlab 编程的细节问题
1. reshape 对元素的操作 使用单一维度对矩阵进行操作时,矩阵是逐列地进行编号的(如下矩阵中的 4, 5, 6,分别在矩阵 A 的第 4, 5, 6 索引处,而不是以行进行排序的 2,5,8 ...