cat 和 tee 的用法
EOF和 -EOF 区别 If the redirection operator is <<-, then all leading tab characters are stripped from input lines and the line containing delimiter. 如果重定向的操作符是 <<-,那么分界符(EOF)所在行的开头部分的制表符(Tab)都将被去除。
cat 的用法 覆盖 这里有两种格式可以使用
格式一1234567#!/bin/bashcat << EOF > /root/test.txtHello!My site is www.361way.comMy site is www.91it.orgTest for cat and EOF!EOF
格式二1234567#!/bin/bashcat > /root/test.txt <<EOFHello!My site is www.361way.comMy site is www.91it.orgTest for cat and EOF! ...
使用 direnv 自动加载当前文件夹环境变量
前言direnv 通过 hook 当前的 shell 来根据当前目录加载或卸载环境变量。
当进入项目对应目录之后,direnv 会检查当前和父目录中是否存在 .envrc 或 .env 的文件。如果文件存在并且有权限访问的话,则会将其加载到 BASH 的 shell 中,然后通过 direnv 捕获所有导出的变量,提供给当前 shell 使用。如果 .envrc 和 .env 文件同时存在的话,则将优先选择 .envrc 文件。
它支持像 Bash、ZSH、TCSH 和 FISH 这样的所有常见的 Shell 工具,允许项目特定的环境变量而不会对 ~/.profile 文件进行混乱。direnv 是 Go 语言编写的, 被编译成一个静态可执行文件,所以速度足够快。它也是语言无关的,可以用来构建类似于 rbenv、pyenv 和 phpenv 的解决方案
安装 直接安装12sudo apt updatesudo apt install direnv -y
使用官方脚本1curl -sfL https://direnv.net/install.sh | bash
Hook ...
docker 部署 mariadb
前言docker 部署的优点不言而喻,一旦出现问题,可以删除的干干净净,完全不影响宿主机环境。而且只要宿主机资源足够,想起几个起几个,可以搭建主从节点。
这篇文章主要记录一下部署的步骤,部署过程中遇到的问题,以及如何解决。
docker-compose file12345678910111213141516171819202122232425version: "3.9"services: mariadb: image: mariadb:latest container_name: mariadb command: - "--character-set-server=utf8mb4" - "--collation-server=utf8mb4_unicode_ci" - "--max_allowed_packet=32505856" - "--transaction-isolation=READ-COMMITTED" - ...
Selenium 使用 cookies 经验
前言 最近在使用 Selenium 时, 遇到的一个问题是由于使用了 SSO 集中鉴权, 会使用微软的two-step authentication code, 导致没有办法实现自动化登录。并且非常无奈的是,找了一大圈人,没有能帮忙解决的,按道理这种登录的问题应该是已经有成熟的经验和 case 了。最终只能靠自己的,打算使用 cookie 来暂时解决,先往下进行。
获取 cookies打算先写一个简单的函数来获取 cookies, 然后保存在本地,后续直接调用 cookies,这样就只需要一次登录就可以了。
12345678910111213141516171819202122232425262728293031323334import pytestimport timeimport jsonfrom selenium import webdriverfrom selenium.webdriver.common.by import Byclass Testloginforge(object): def setup_method(self, method): sel ...
使用 pyenv 管理 python 版本
前言 安装不同的 Python 版本并不是一件容易的事情,在不同的 Python 版本之间来回切换更加困难,而且, 多版本并存非常容易互相干扰。这里使用的 Pyenv,它能够进行全局的 Python 版本切换,也可以为单个项目提供对应的 Python 版本, 非常方便。
安装步骤
安装编译 python 所需要的环境
123sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
安装 pyenv
1curl https://pyenv.run | bash
配置 pyenv
如果使用的是 bash
123echo 'export PYENV_ROOT="$ ...
XiaoMi8 刷机体验 Pixel Experience 12 plus
前言 我的小米 8 已经用了有 4 年了,当年买的时候真的是神机。只是一路用过来从 MIUI9 到 MIUI12,随着系统添加的功能越来越多,手机变得越来越卡,越来越发热,此处点名批评 MIUI 12.5.2 是真的烂。
于是萌生了体验原生安卓的想法,一番搜索了解后最终选择了 Pixel Experience
注意事项
刷机会清空所有数据,注意做好备份
刷机有风险,请谨慎操作
准备工作
解锁 Bootloader,登出小米账户
准备刷机工具 platform_tools
耐心和解决问题的决心
资源下载 为方便国内使用,所用到的镜像, recovery,以及 Magisk 都打包一起分享了,请投币自取。
Pixel Experience 12 Plus 刷机资源
刷机步骤 输入 PE 官方 recoveryPE 12 Plus 需要使用官方的 recovery
手机长按 电源 + 音量下 键进入 fastboot 模式
1fastboot flash recovery PixelExperience_Plus_dipper-12.1-20220722-2201-OFFICI ...
ubuntu 使用 snap 包
概述 什么是 snap,snap 是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用 snap 包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间snap 软件包一般安装在 /snap 目录下
常用的命令 其实使用 snap 包很简单,下面来介绍一下一些常用的命令
sudo snap list列出已经安装的 snap 包
sudo snap find <text to search>搜索要安装的 snap 包
sudo snap install <snap name>安装一个 snap 包
sudo snap refresh <snap name>更新一个 snap 包,如果你后面不加包的名字的话那就是更新所有的 snap 包
sudo snap revert <snap name>把一个包还原到以前安装的版本
sudo snap remove <snap name>删除一个 snap 包
Ubuntu22.04 安装配置 VNC
前言 虚拟网络计算 (VNC) 是一个图形桌面共享系统,允许您使用键盘和鼠标远程控制另一台计算机。它是 Microsoft 远程桌面 协议 (RDP)的开源替代方案。
安装桌面环境Ubuntu 服务器是从命令行管理的,默认情况下没有安装桌面环境。如果您运行的是桌面版 Ubuntu,请跳过此步骤。Ubuntu 存储库中有各种可用的桌面环境。一种选择是安装 Gnome,这是 Ubuntu 20.04 中的默认桌面环境。另一种选择是安装 Xfce 。它是一个快速、稳定和轻量级的桌面环境,非常适合在远程服务器上使用。
在本指南中,我们将安装 Xfce。以具有 sudo 权限的用户身份输入以下命令 :
12sudo apt updatesudo apt install xfce4 xfce4-goodies
安装 VNC ServerUbuntu 存储库中有几种不同的 VNC 服务器可用,例如 TightVNC 、TigerVNC 和 x11vnc 。每个 VNC 服务器在速度和安全性方面都有不同的优势和劣势。
我们将安装 TigerVNC。它是一个积极维护的高性能 VNC 服务器。键入以下 ...
pip 设置国内源,加快下载速度
可用国内源 1234567891011 清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:http://pypi.sdutlinux.org/豆瓣:http://pypi.douban.com/simple/
临时使用 使用时通过加参数 -i <url> 指定源
1pip install -i http://pypi.douban.com/simple/ -U pip
修改默认源,长期生效 Linux 修改 ~/.pip/pip.conf
1234[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host=mirrors.aliyun.com
Windo ...
linux supervisord 基本使用
前言supervisord 是用 Python 开发的一个进程管理工具
安装 直接使用 pip 直接安装1pip install supervisor
使用 apt-get 安装1apt-get install supervisor
配置文件supervisor 也有一个配置文件优先路径,$CWD/supervisord.conf > $CWD/etc/supervisord.conf > /etc/supervisord.conf
一般会创建一个 /etc/supervisord.conf,然后创建一个/etc/supervisor/SomeService.conf, 然后在/etc/supervisord.conf 中包含后者
生成配置文件1echo_supervisord_conf > /etc/supervisord.conf
最后一行添加配置,方便管理自定义进程
12[include]files = /etc/supervisor/*.conf
创建自定义脚本文件123456789101112[program:expressbot]director ...