您的位置:首页 > 运维架构 > Shell

shell脚本编程第一天

2017-12-05 00:00 120 查看
shell 命令解释器

默认:bash 命令解释器

ctrl + C +D +A命令的行首 +E命令的行尾

选项默认不支持tab

除非装了bash-completion

原码编译:先装gcc,编译完,再卸载。

命令行环境回顾:

命令历史:vim /etc/profile HISTSIZE=1000
history -c 清空历史
#################################################################
PXE pre-Scripts
PXE post-Scripts
#######################
virtual
修改虚拟机模版然后clone
##################################################################
alias
cp a.txt a.txt //alias cp = cp -i 交互所以再
\cp a.txt a.txt 要加\

#################################################################
标准输出1 错误输出2
>1.log
2>2.log
&>3.log
ls > &2

echo {1..5}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for i in {1..5}
do
#######################################################

vncviewer 172.40.50.118:8
######################################################
top 大写的P按CPU排序 #
M 按内存排序 #
######################################################

uptime CPU
free 内存

#######################
small [有点:快,漏洞少bug]
【缺点:功能少,依赖关系】

yum-config-manager

createrepo /opt/libreoffice/

#####################################################
#!/bin/bash
#准备yum源
echo "准备配置yum源..."

#清空之前的yum配置文件
rm -rf /etc/yum.repos.d/*

#写入yum配置信息,并导入到/etc/yum.repos.d/dvd.repo文件当中
echo "[dvd]
name=dvd
baseurl=http://192.168.4.254/rhel7
enabled=1
gpgcheck=0" > /etc/yum.repos.d/dvd.repo

#清空yum缓存
yum clean all &> /dev/null
#列出可用软件包
echo -e "\033[35m yum repolist | grep "repolist" \033[0m"
#建立缓存文件
echo -e "\033[36m yum makecache \033[0m"
echo "yum仓库建立成功"

# 安装FTP服务
yum -y install vsftpd >/dev/null 2>error.log
# 启动FTP服务
systemctl restart vsftpd >/dev/null 2>error.log

# 设置FTP服务开机自启动
systemctl enable vsftpd
# 提示是否成功
systemctl is-enabled vsftpd | grep enabled && echo "设置开机自启成功"
echo "请去测试是否成功ftp"
########################################################################################
a=1
b=2
[root@04:49:06 opt 72]#echo "$a""$b"
[root@04:49:31 opt 74]#echo ${a}${b}
一样
###############################################
02.
#!/bin/bash

echo $0 脚本名
echo $1 第一个参数
echo $2 第二个参数
echo $3 第三个参数
echo $* 所有参数
echo $# 共几个参数
#################################################
双引号 “” 引用整体
"a b" != a b
"ab" == ab
touch "a b"
rm a b
#################################################

单引号 '' 引用整体
屏蔽特殊符合
a=111
echo "$a RMB"
echo '$a RMB'
#################################################
$(cat /etc/passwd)引用可执行的命令
`cat /etc/passwd` 优先级提高

################################################
每周五使用tar备份一个/var/log
vim test.sh
time=`date +%Y%m%d%H%M%S`
tar -jpcv -f /root/log.$time.tar.bz2 /var/log

crontab -e
05 3 * * 5 bash test.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息