文档章节

Shell01

把南墙撞开
 把南墙撞开
发布于 2017/02/03 23:22
字数 549
阅读 1
收藏 0
shell是一个命令解释器,是操作系统的最外层。
把用户的输入解释给操作系统,将操作系统的输入结果返回给用户。
硬件-->kernel-->shell-->外围应用程序

shell脚本:将命令或语句写入文件,进行操作系统管理。

shell脚本中有命令、变量和流程控制语句。



清除日志文件脚本,需root
#!/bin/bash
LOG_DIR=/var/log

ROOT_UID=0

if ["$UID" -ne "$ROOT_UID"]
then
echo "Must be root to run this script."
exit 1
fi
cd $LOG_DIR || {
echo "Cannot change to necessary directory.">&2
exit 1
}
cat /dev/null>messages
echo "Logs cleaned up."
exit 0


A && B //A成功执行B
A || B //A没成功执行B


清空文件的三种方法:

保留文件,清空内容

>filename
echo >filename //多一个空行
cat /dev/null >filename


Linux bash (Bourne Again shell)
echo $SHELL
输出 /bin/bash
grep root /etc/passwd


shell脚本的建立
在vim中编写,包括Linux命令、bash shell命令、程序控制结构、注释。
脚本第一行指定由哪个程序来执行脚本中的内容。
#!/bin/bash 或
#!/bin/sh  #!称为幻数 sh为bash的软链接


对于输入的命令:Ctrl+e 到结尾,Ctrl+u 清除
shell脚本的执行方式
bash script-name  sh script-name //当文件无执行权限或文件未指定解释器时 推荐
path/scritp-name  ./script-name  //必须有执行权限
source script-name . script-name //可以将其中的变量加入到当前shell环境


规范:
1、开头指定脚本解释器;
2、开头加版本和版权信息;
3、不用中文
4、扩展名.sh
5、成对符号一次书写;中括号的两端有空格;流程控制一次书写;代码缩进;


变量
环境变量/全局变量:可在创建它们的shell及其派生出的子shell中使用;
局部变量:只能在shell函数或脚本中使用


环境变量可写在~/bash_profile文件中,或全局配置文件/etc/bashrc/etc/profile文件中,或/etc/profile.d/
大写
export导出
如:
export JAVA_HOME=path
JAVA_HOME=path
export JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin

几个环境变量:
PS1:控制登录用户的显示方式
TMOUT:超时退出
HISTSIZE:历史命令记录条数
HISTFILESIZE:历史文件记录条数
UID
USER

本文转载自:http://blog.csdn.net/weixin_37289816/article/details/54847575

把南墙撞开
粉丝 0
博文 73
码字总数 21068
作品 0
昌平
私信 提问
自动化部署shell01

自动化部署--shell脚本--1 传统部署方式 1、纯手工scp 2、纯手工登录git pull 、svn update 3、纯手工xftp往上拉 4、开发给打一个压缩包,rz上去。解压 传统部署缺点: 1、全程运维参与,占用...

zengwj1949
2017/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

没有更多内容

代码持续自动发布

需求: 自动更新私人gitbook项目代码 如果代码没更新,不做务必要的构建操作 思路 定时任务加shell脚本,无论更新没更新都执行git pull。 优点:能满足需求 资源浪费,代码仓库不更新也执行p...

阿dai学长
20分钟前
1
0
sparkstreaming原理

Spark Streaming是Spark生态系统当中一个重要的框架,它建立在Spark Core之上,下面这幅图也可以看出Sparking Streaming在Spark生态系统中地位。 Spark Streaming是Spark Core的扩展应用,它...

七旬少女
39分钟前
0
0
springmvc集成cas,并解决前后端分离情况

1.最近项目需要集成已经存在的cas系统。 但是目前已集成的系统都是jsp。而我们项目是前后端分离开发(伪),没有分开部署。 2.cas原理就不介绍了 网上例子很多。基本都是使用302重定向实现的...

起名字什么的太麻烦了
54分钟前
4
0
HDFS-原理

1. 写操作

叶枫啦啦
今天
3
0
聊聊elasticsearch的MembershipAction

序 本文主要研究一下elasticsearch的MembershipAction MembershipAction elasticsearch-6.7.1/server/src/main/java/org/elasticsearch/discovery/zen/MembershipAction.java public class M......

go4it
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部