当前位置: 首页 > news >正文

网站设计的知识技能广东网站建设怎么收费

网站设计的知识技能,广东网站建设怎么收费,南阳做网站的公,济南网站建设销售招聘文章目录shell简介如何学好shell初识shell什么是shell执行shell脚本常用的三种方式shell变量变量相关的配置文件变量的定义shell核心位置变量shell简介 为什么学习shell,shell的作用 面试题:给你一台主机你的操作流程是什么? 1.自动化安装操…

文章目录

          • shell简介
          • 如何学好shell
          • 初识shell
          • 什么是shell
          • 执行shell脚本常用的三种方式
          • shell变量
          • 变量相关的配置文件
          • 变量的定义
          • shell核心位置变量

shell简介
为什么学习shell,shell的作用
面试题:给你一台主机你的操作流程是什么?
1.自动化安装操作系统kickstart cobbler
2.优化操作系统系统层面 关闭selinux 关闭不用的服务 优化ssh 禁止ROOT登录 加大文件描述符 定时任务 修改默认仓库 内核参数优化安全层面 禁用ROOT jumpserver iptables 优化  禁止显示操作系统版本号
3.安装服务NGINX NFS rsync Tomcat httpd zabbix iptables jumpserver
4.部署代码 代码更新
5.服务监控 zabbix 自定义监控
6.日志分析 IP访问量 日志切割
7.其他 定时任务+shell脚本
统计nginx日志中客户端访问的top10
shell串联
如何学好shell
1.shell 执行方式
2.shell变量
3.shell表达式
4.if判断
5.for循环
6.while循环
7.函数
8.流程控制语句
9.expect
10.数组···01.掌握变量和表达式
02.读写理解老师的脚本
03.自己尝试书写脚本(先照着写-熟练-不看笔记自己写-修改 打补丁多练习)
04.形成自己的风格
05.切忌拿来即用
06.最好有一本内容比较全面的书籍《跟老男孩学习shell》案例较多。
初识shell
1.脚本的结尾使用.sh
2.脚本开头使用#!/bin/bash
3.脚本中尽量有作者信息
4.脚本中尽量有注释信息
5.脚本中尽量使用英文注释
6.成对的符号一次书写完
注意shell中的符号都是英文字符
什么是shell
shell 是命令解释器,负责解释用户输入命令传递给内核,内核执行调用硬件,然后将结果返回给shell
交互式:和人交互
非交互式:不和人交互 类似定时任务

什么是shell脚本

将命令写入到文件中,称为shell脚本,增加了判断 循环 函数等语法

创建shell脚本

Linux系统默认的shell为:bash[root@web01 day01]# echo $SHELL
/bin/bashbash和sh的区别:没区别[root@web01 day01]# cat test.sh 		#脚本名称:见名知其义
#!/bin/bash								#指定解析器
echo "hello world"						#输出内容到屏幕
执行shell脚本常用的三种方式
第一种方式:
sh test.sh第二种方式:路径的执行方式:脚本需要有x权限绝对路径:[root@web01 day01]# chmod +x test.sh[root@web01 day01]# /scripts/shell/day01/test.sh hello world相对路径:[root@web01 day01]# ./test.sh hello world第三种执行脚本方式:[root@web01 day01]# . test.sh 
hello world
[root@web01 day01]# source test.sh 
hello world三种脚本执行方式的区别:
第一、二种方式是在子shell中执行
第三种方式是在父shell中执行解释器分为父shell 和子shell
父shell:登录系统默认为父shell
子shell:在默认的父shell中执行bash 进入到了一个子shell中在执行脚本的时候,调用子shell执行内容
shell变量
1.什么是变量
用一个固定的值表示一堆不固定的值,称为变量
比如:dir=/etc/sysconfig/network-scriptes
x=1 y=x+22.变量的分类
环境变量(全局变量)系统默认存在。对所有父shell和子shell生效
普通变量(局部变量)自定义变量。只对当前的shell生效3.按照变量的生存周期
临时变量:直接定义或者使用export定义的变量
永久变量:写入到文件中或者/etc/profile便令文件中直接定义: name=oldboy			#只对当前的shell生效
使用export:export name=oldboy		#对当前父shell下的所有的shell生效
变量相关的配置文件
/etc/profile		#常用的变量配置文件。每次开机和每次的远程连接都会执行此文件
/root/.bash_profile
/root/.bashrc
/etc/bashrc
变量的定义
名称的定义:name=oldboy
名称的定义规范:由字母、数字、下划线组成。不能由数字开头。可以用字母和下划线开头。等号(=)两边不能有空格。
名称:全大写  全小写  驼峰命名法
name_age
NAME_AGE	#系统默认的变量全是大写 env
Name_Age	#大驼峰
name_Age	#小驼峰变量值的定义:
1.字符串定义:不连续的使用""引起来
[root@web01 ~]# dir=/etc/sysconfig/network-scripts/
[root@web01 ~]# echo $dir 
/etc/sysconfig/network-scripts/[root@web01 ~]# test="1 2 3 4"
[root@web01 ~]# echo $test 
案例:
定义路径:dir=/etc/sysconfig/network-scripts/
code=/var/nginx/html定义文件:
file1=/etc/passwd file2=/etc/hosts定义命令:
[root@web01 ~]# hehe='touch /tmp/hehe.txt'
[root@web01 ~]# $hehe[root@web01 ~]# vim_eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@web01 ~]# $vim_eth0
====================================================================2.数字定义:
age=18
age="1 124 34"3.命令定义:``或者$().先执行``中的命令,然后将执行的结果赋值给变量
[root@web01 ~]# count=`cat /etc/passwd |wc -l`
[root@web01 ~]# echo $count
28
[root@web01 ~]# count=$(cat /etc/passwd |wc -l)
[root@web01 ~]# echo $count
28案例:定义一个变量,在脚本的任意位置执行nginx -t命令
[root@web01 ~]# nginx_n='nginx -t'
[root@web01 ~]# $nginx_n
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful案例:时间
脚本中执行变量每次时间为当前的执行时间[root@web01 ~]# Time='date +%F-%H-%M-%S'[root@web01 ~]# $Time 
2024-06-02-21-49-23脚本中执行的时间变量为固定的时间
[root@web01 ~]# Time=`date +%F-%H-%M-%S`
[root@web01 ~]# echo $Time 
2024-06-02-21-48-02[root@web01 ~]# Ip=`hostname -I |awk '{print $1}'`
[root@web01 ~]# echo $Ip
10.0.0.7
[root@web01 ~]# Host=`hostname`
[root@web01 ~]# echo $Host 
web01
[root@web01 ~]# echo "${Ip}_$Host"
10.0.0.7_web01
shell核心位置变量
$0  #获取shell脚本的文件名称
$n  #$1表示脚本的第一个参数 $2表示脚本的第二个参数[root@web01 day01]# sh test.sh {a..z}
a b c d e f g h i j k
[root@web01 day01]# cat test.sh 
#!/bin/bash
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11}basename /scripts/shell/day01/test.sh  #取最后一个参数$#	#获取脚本传参的个数
案例:
[root@web01 day01]# cat test.sh 
#!/bin/bash
[ $# -ne 2 ]&& echo "请输入两个参数"&& exit
echo "name: $1"
echo "age: $2"$*	#获取脚本传参的所有参数,默认和$@相同。在循环体中加双引号表示一个整体
$@	#获取脚本传参的所有参数,默认和$*相同。在循环体中加双引号表示独立的参数[root@web01 day01]# set -- "I am" oldboy I am 18
[root@web01 day01]# for i in $*; do echo $i; done
I
am
oldboy
I
am
18
[root@web01 day01]# 
[root@web01 day01]# for i in $@; do echo $i; done
I
am
oldboy
I
am
18
[root@web01 day01]# 
[root@web01 day01]# for i in "$*"; do echo $i; done
I am oldboy I am 18
[root@web01 day01]# 
[root@web01 day01]# for i in "$@"; do echo $i; done
I am
oldboy
I
am
18shell 状态变量:
$? 获取上一条命令的执行结果,0为成功 非0为失败
[root@web01 day01]# cat test.sh 
#!/bin/bash
ping -c1 -w1 $1 &>/dev/null
[ $? -eq 0 ]&& echo "$1 通" || echo "$1 不通"$$ #获取脚本PID号
http://www.dtcms.com/a/550704.html

相关文章:

  • 网站的项目建设周期软件论坛网站有哪些
  • Spring Cloud 服务保护sentinel
  • JavaScript 函数调用详解
  • 生活服务网站建设方案免费正能量下载软件
  • 杭州网站设计的公司网站建设项目推文
  • Nginx 主要的几种负载均衡模式
  • 网站宣传内容赣州大余做网站建设
  • 工信部怎么查网站备案西安市发布最新消息
  • 【18】C语言位运算符详解
  • 基于SpringBoot+Vue的中凯农场农资管理系统(权限分配、Echarts图形化分析)
  • 电子取证之windows知识点:从 0 到 1 掌握 Windows 事件日志取证:以 玄机靶场-第五章 Windows 实战-evtx 文件分析
  • UVa 11853 Paintball
  • 北京网站制作公司兴田德润在那里中国最新领导班子
  • 优秀网站seo报价wordpress亚马逊cdn
  • 韶关网站设计公司建设网站 请示 报告
  • 网站开发 兼职挣钱吗WordPress dux3.0
  • 建设网站和公告号的意义网上平台
  • 磁盘分区方案GPT和MBR的区别浅谈
  • 怎么用ps做网站首页字贵阳大数据论坛
  • php p2p网站源码网站icp备案申请流程
  • Java的Stream详解
  • 国家网站备案查询定制开发教程
  • MySQL安装及启用(社区版)
  • whois域名查询网站iis 添加网站 win7
  • 图像分割深度学习学习总结
  • 中铁建设集团网站能用VUE做网站
  • 网站超链接怎么做 word文档网页设计免费模板网站推荐
  • 网站支付接口怎么做百度站长怎么做网站维护
  • 查建筑材料的网站大数据系统
  • 建设银行 北京招聘网站网站代码 公告栏 php