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的镜像文件 ...
随机推荐
- [Node.js] Use Realm Object Database with Node.js
Realm is an ACID compliant object database. In this lesson, you will learn how to install Realm, def ...
- 安装hadoop1.2.1集群环境 分类: A1_HADOOP 2014-08-29 15:49 1444人阅读 评论(0) 收藏
一.规划 (一)硬件资源 10.171.29.191 master 10.173.54.84 slave1 10.171.114.223 slave2 (二)基本资料 用户: jediael 目录 ...
- Activity 调用Service的方法
一般来说,Activity调用Service 分为两种:进程内调用和进程间调用.进程内调用时比较常用的一种,在进程内调用中我们常常使用的是bindService来启动Service(关于这种启动方式的 ...
- ccpc2016长春站打铁记(后记)
Day3 "学术交流日" 自己进我的空间看吧. http://user.qzone.qq.com/190741511/4
- USB 3.0规范中译本 第10章 集线器,主机下行口以及设备上行口规范
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 本章描述USB 3.0 集线器的体系结构要求.本章还描述主机下行口和集线器下行口之间功能性的不同之处,以及设 ...
- B/S系统的前台和后台数据转递机制探究
作者:朱金灿 来源:http://blog.csdn.net/clever101 说实话写这篇文章超出了我的能力范围之外(因为我并没有多少Web开发经验),我所期待的是能起一个抛砖引玉的作用--希望高 ...
- [NPM] Run npm scripts with git hooks
In this lesson we will look about how we can integrate with git hooks to help enforce a certain leve ...
- RequiredFieldValidator----验证控件不起作用
验证码对于网络时代的我们来说实在是太熟悉了.登陆一个站点.注冊一个账户或是各种聊天工具登陆都须要来输入验证码. 为什么要使用验证码呢? 验证码通常是防止有人利用机器人自己主动批量注冊. ...
- 最新版Butterknife plugin支持butterknife7.0.1和兼容butterknife 6.1.0及下面
JakeWharton 的butterknife帮我们有效的攻克了findViewById及各种view的监听事件泛滥的问题,极大的简化了代码,假设使用了android Studio开发的配上avas ...
- 通过一次SpringBoot打成war包部署到tomcat启动总结一般jar包冲突的解决方法
启动时,报错信息如下: 28-Sep-2018 16:55:41.567 严重 [localhost-startStop-1] org.apache.catalina.core.StandardCon ...