magedu pro 第七周作业

1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;

脚本内容如下:

#!/usr/bin/env 

loginshell=$( /etc/|cut -d: -f7);

loginct=0;
nologinct=0;

for i in $loginshell;do
  if [[ "$i" == "/sbin/nologin" ]]; then
    let nologinct+=1;
  else
    let loginct+=1;
  fi
done

 "可登录的用户数为:$loginct";
 "不可登录的用户数为:$nologinct";

执行结果如下:

[hzz@ ~]$ bash test.sh 
可登录的用户数为:5
不可登录的用户数为:20
[hzz@ ~]$

Continue reading “magedu pro 第七周作业”

magedu pro 第七周作业

群晖 NAS 手动重启 Docker 服务

最近在使用群晖 NAS 自带的 应用时,总是出现容器无法停止的情况,即使在命令行中使用 docker stop 也无济于事。

想再去控制台重启 Docker 应用,又发现 Document Viewer 应用依赖到 Docker 应用,无法单独重启 Docker ,必须先停掉 DocViwer 容器。

完蛋,这就进入死循环了……

Continue reading “群晖 NAS 手动重启 Docker 服务”

群晖 NAS 手动重启 Docker 服务

Linux 使用 autojump 直达目录

介绍这款神器之前,先来确认一个问题。在 的使用过程中,如何快速地到达指定目录?

很多人肯定会说,使用 tab 补全大法啊,笨!

嗯,没错,在没认识到 之前,我也是这么想的,但熟悉使用过这款神器后,才明白什么叫所达即所想。也就是无需考虑中间还有多少层目录,你只需要记住最终目录的名称,就可以快速进入该目录……

Continue reading “Linux 使用 autojump 直达目录”

Linux 使用 autojump 直达目录

Bash 编程之函数

简介

把一段独立功能的代码当作一个整体,并为之一个名字;命名的代码段,此即为函数。函数存在的意义,就是为了可以更加方便地进行代码重用。

函数不会自动执行,只有在代码中调用函数名称,才会在调用位置执行函数所包含的代码段。

编程的函数有两种语法:

# 语法一:
  f_name  {
    ...函数体...
}

# 语法二:
f_name()  {
    ...函数体...
}

Continue reading “Bash 编程之函数”

Bash 编程之函数

使用 CodePipeline 进行 Hexo 文章自动发表

前言

之前在 《Wordpress 转 Hexo 历程》 中介绍过 + + Runner + Pages 的自动发布 Hexo 文章的方案。但这个方案有两个难点:一是没接触过 Gitlab + Runner 的人,学习起来会比较吃力;二是需要一台独立的主机进行发布操作。

Continue reading “使用 CodePipeline 进行 Hexo 文章自动发表”

使用 CodePipeline 进行 Hexo 文章自动发表

Bash 脚本编程基础及示例

简介

(Bourne Again )是当前 系统默认的,在 sh(Bourne Shell)的基础上进行扩展,并代替 sh 的一种 CLI(command-line interface)工具。

由于 bash 本身就是 Linux 上的命令语言,所以 bash 编程有着得天独厚的优势:所有在 bash 编程中用到的语句,都可以在命令行中执行。换句话说,就是 bash 编程,其实就是按条件堆积 linux 命令的过程。这也很好地解释了 Linux 是由众多功能单一程序组成的这种哲学思想。

Continue reading “Bash 脚本编程基础及示例”

Bash 脚本编程基础及示例

crontab 参数详解

简介

命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。在一些需要定期循环执行脚本的情形下(比如定期释放内存,定期删除过期文件),使用 crontab 往往比在脚本内编写定时器便捷得多。下面就来说说 crontab 参数。

Continue reading “crontab 参数详解”

crontab 参数详解