如何正确运行Shell脚本
起因我的一位朋友在 Ubuntu 通过 sh test.sh 运行一个 Shell 脚本时解释器弹出如下错误:
1> test.sh: 12: Syntax error: "(" unexpected
对于这个问题,我直接让他通过 bash test.sh 来执行这个脚本便正常运行了。
下面将解释为什么在 Ubuntu 通过 sh test.sh 运行一个 Shell 脚本时解释器弹出 Syntax error。
在查阅了相关资料后,可以发现现在的 Ubuntu 将 sh 这个命令通过符号链接到 /bin/dash,故这位朋友通过 sh test.sh 运行脚本时实际上是执行了 /bin/dash test.sh 这个命令,而 /bin/dash 这个解释器的语法和该脚本使用的 /bin/bash 解释器的语法并不一致,导致了解释器报语法错误。
当我们遇到这种情况时应该如何解决呢?下面将记录我对执行 Shell 脚本的理解。
运行 Shell 脚本的方式
下面将以 test.sh 脚本为例
通过可执行文件方式执行这是一种常用的执行方式,你需要为脚本添加可执 ...
展开式二级圆柱斜齿轮减速器设计记录
前言这篇博客记录一下机械设计课程设计要求设计的展开式二级圆柱斜齿轮减速器的设计过程以及这个过程中用到的一些资料.
参考文献
机械设计基础:多学时[M].北京:机械工业出版社,2017.10 PDF下载
机械设计课程设计[M].合肥:合肥工业大学出版社,2005.8 PDF下载
参考视频
二级展开式圆柱齿轮减速器
机械设计课程设计/减速器设计/二级减速器/设计说明书/CAD装配图,设计全流程详解
最终呈现
设计计算说明书 PDF下载
有时候选择要慎重
人生的选择与机遇:从材料到计算机人生中的选择总是伴随着犹豫和矛盾,特别是当我们面临重要的转折点时。我有一个朋友,他从未接触过计算机领域,却在专业发展中面临一个艰难的选择:是否转到计算机。这个选择看似简单,却涉及到他未来的发展、机会和可能的遗憾。
对于我这位朋友来说,选择从材料跳槽到计算机领域是一次重要的决策。他从未接触过计算机,但他被这个快速发展的行业所吸引。计算机领域的”赚钱属性”让他着迷,他对于计算机这个”热门专业”充满了”盲目的希望”。他同时也意识到,这个决定可能会带来一些困难和不确定性,但他被环境裹挟,认为只有转行到计算机,才能有机会迎来更大的成长和机遇。
转行到计算机行业意味着面临”掉头发”的挑战。计算机领域以其高速发展和日新月异的技术而闻名,这要求从业者时刻保持学习和适应的状态。对于初入行业的人来说,学习曲线可能会非常陡峭,需要不断投入时间和精力。初入计算机的他有些犹豫,担心自己是否能够跟上这个充满竞争和压力的环境。此外,他还面临着保研的不确定性,因为他没有计算机背景,压力可能会更大。
虽然到计算机专业对于他的成长和未来发展有着诱人的吸引力,但他也考虑到回归材料行业的选择。 ...
通过GitHub Actions自动化部署Hexo博客
Github Actions 是 Github 推出的一项 CI/CD 服务,可以通过简单的配置文件,实现自动化部署。本文将介绍如何转移原本的Blog到 Github Actions 自动化部署 Hexo 博客,根据本文的配置,每次提交代码到 Github 仓库,Github Actions 就会自动构建并部署博客。
开始创建私有仓库 EXAMPLE-BLOG在 Github 上创建一个私有仓库,用于存放博客的源代码,这里命名为 EXAMPLE-BLOG。
创建公开仓库 EXAMPLE.github.io在 Github 上创建一个公开仓库,用于存放博客的静态文件,这里命名为 EXAMPLE.github.io。
配置Deploy Key生成公私钥1ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N ""
此时会在当前目录下生成两个文件:gh-pages 和 gh-pages.pub,分别为私钥和公钥。
添加Deploy Key在 EXAMPLE. ...
V2ray/Websocket+TLS+Nginx+Cloudflare 搭建支持游戏加速的代理服务方案
方案信息方案环境12345# 服务端采用了阿里云的轻量应用服务器(HK)Server: - Ubuntu 20.04.3 LTS - Nginx 1.21.1 - Docker 20.10.17
产生原因在游玩游戏的时候,由于网络原因,经常会出现卡顿、延迟等问题,这些问题会影响游戏体验,所以需要一个稳定的代理服务来解决这些问题,这里采用了V2ray的Websocket+TLS+Nginx+Cloudflare的方案来搭建代理服务,这样就可以解决游戏加速的问题了,同时可以满足本人的魔法和Newbing的访问需求。
各工具的安装和配置可以参考下面的链接:Nginx:https://lnmp.org/install.htmlDocker:https://www.runoob.com/docker/ubuntu-docker-install.html
方案的拓补图
服务端X-ui安装通过docker-compose安装x-ui,x-ui是一个v2ray的web管理面板,可以方便的管理v2ray的配置,同时也可以通过x-ui来管理v2ray的配置,这里采用了x-ui的dock ...
Nginx 配置简记
此篇文章用于记录Nginx使用方面的说明
安装Nginx源码安装安装编译环境1sudo apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev libgeoip-dev
到Nginx官网下载源码1wget -O nginx.tar.gz https://nginx.org/download/nginx-1.23.4.tar.gz && tar -xzf nginx.tar.gz && rm nginx.tar.gz && mv nginx-* nginx && cd nginx
设置编译参数输入以下命令可以查看具体的编译参数
1./configure --help
常用的编译参数
12./configure --prefix=/usr/local/nginxmake && make install
使用sys ...
利用Docker Compose进行多容器管理
前两天因为要在服务器上部署MySQL方便我进行项目的开发,但是发现我服务器上的Docker容器有点多,于是想到了之前看见的Docker Compose的多容器管理工具
思路Docker Compose是一个很易于使用的多容器管理方案 基本思路如下
编写docker-compose.yml
执行docker compose -f /path/to/docker-compose.yml up -d
docker-compose.yml123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115version: '3.8'services: # mysql容器 ...
利用GitHub Actions进行Golang项目的自动构建
这段时间刚考完试,正好提到了自动化部署,周六花了一天时间浅学了一下
思路
项目上传GitHub
GitHub Actions对项目进行编译并发布到DockerHub
Github Actions通过SSH连接到服务器运行Docker Compose进行部署
配置文件Dockerfile这次的项目仍然采用Docker进行构建
参考文件Dockerfile
123456789101112131415161718192021222324252627# 基础镜像 第一阶段FROM golang:1.17.8-alpine as builderRUN apk --no-cache add gitMAINTAINER cunoe# 操作目录WORKDIR /go/src/cunoe/# 复制源文件至操作目录COPY . .# 编译RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app# 基础镜像 第二阶段FROM alpine:latest as prodRUN apk --no-cache add ca- ...
2021年度总结
前言时间过得还是蛮快的,2021年也转眼就过去了,回想年初还是高三的我,现在已经是在大学摸鱼半年的大一钓鱼人了。今年其实变化挺大的,特别有些事情也是我没想到的,总之今年也是有好有坏吧,但总的来说,我感觉还算顺利。
今年是我写博客以来第五个年头了虽然中间有一段时间消失了,2021年也是蛮多事情的,发生了很多也看见了很多。下面我会总结一些我还能记住的一些事。
学习2021年是我高三的最后一段时间,我看过的书还是蛮多虽然有一部分是网文,下面是看过并且有印象的书
《看天下Vista》杂志
这个不算一本书吧,我订了半年的看天下,当时正好高三,每天的自习时间非常多,多到我后面基本上一半的自习课都在看课外书,可能这也是我高考没考好的原因之一吧,总之这些个杂志还是非常受班里面同学的欢迎,每次我看完然后就给班级传阅,想想当时也是班级疯抢的读物(颇有青春的感觉??
《罪与罚》陀思妥耶夫斯基小说
当时因为很无聊,整好朋友推荐了罗翔老师的视频,罗翔老师提到了这本书,刚好有一次去学校图书馆的时候遇见了这本书,就借回来看了,看这本书的时候我还专门做了一份思维导图呢~,虽然现在也找不到了,这本书当时也没看完,我 ...
World Of Warships/战舰世界语音包制作流程
工具准备1234567系统: - Microsoft Windows 11 22000.376软件: - World of Warships - 音频处理工具(Adobe Audition 2021) - Wwise 2019.1.6.7110 - SoundModCreator_v2.1.0
Download Sound Mod Creator v2.1.1 (建议下载最新版本)
制作流程配置Sound Mod Creator打开SoundModsCreator.exe后选择Options>Settings
123456Client folder: 选择World of Warships游戏根目录下的 /bin/{MaxNumber} 文件夹Wwise folder: 选择Wwise音频处理工具根目录下的 /Authoring/x64/Release/bin 文件夹Wwise project file: 选择Sound Mod Creator工具根目录下的 /res/wows_conversion_project19_Only_Windows/conv ...