首页>建站相关>linux利用shell脚本进入指定目录

linux利用shell脚本进入指定目录

这个博客使用了天翼云的云服务器,安装的服务端软件是nginx,nginx默认的目录深度挺深,进出颇为不便。虽然用键盘劈里啪啦输入一长串命令来操作服务器看起来也蛮酷的,日子久了终归有点不太方便。所以就想着尝试用批处理命令进入一个指定的文件,以节省一点打字的时间。

批处理文本

#!/bin/sh
cd  /usr/share/nginx/html/biib/test/themes/twentyten

批处理的命令构成非常简单,笔者的需求也同样不复杂,只是寻求进入一个深度较深的目录,利用vim新建1个名为1.sh的文件,然后输入如上内容,确认保存。sh表示这个文件是shell文件,linux的文件后缀没有严格的要求,我们可以保存为1.shell,2.sh,甚至直接设置文件名为1。

批处理命令执行方式

sh 1.sh

直接输入sh+空格+文件名的方式就可以运行批处理文件,以这种方式运行批处理文件甚至不需要文件具备执行权限;

./1.sh

上面这种方式会引发权限错误,如果想要以这种方式执行1.sh,需要首先给文件赋予执行权,授权的命令如下,赋予权限之后,1.sh文件就可以愉快的执行了:

chmod +x 1.sh

顺便说下降权的命令,二者仅仅相差1个符号:

chmod -x 1.sh

笔者的初衷只是想进入某个目录,通过以上步骤,文件虽然得以正常运行没有报错,但是目录并没有被改变。

环境变量的影响

直接通过./1.sh执行这段脚本是无法进入twentyten目录的,这是因为shell在执行脚本时,会创建一个子shell,并在子shell中逐个执行脚本中的指令,而子shell中从父shell中继承了环境变量,但是执行后不会改变父shell的环境变量,想想也挺正常,某些时候我们利用批处理执行一个十条街之外的文件,但并不想跑到十条街以外去,如果想要代码中切换目录的操作生效,需要通过source命令执行:

source ./1.sh

source命令是要求系统在当前的shell环境下执行脚本,不会创建子shell,每次都要输入source是一件烦琐的事情,其实source命令又叫点命令,在需要用到source的情况下,直接换成'.'即可:

. ./1.sh

需要注意的是,这两点之间需要有一个空格。

标签: linux

移动端可扫我直达哦~

推荐阅读

linux 2024-03-27

linux如何将文件拷贝至上一层文件夹

发现Wordpress有个24年1月份的更新,服务器里保留的版本是4.5.29,最新版本已经更新到了4.5.31。于是就想下载下来尝试一下,因为博客的服务器是天翼最低配的服务器,跑新版本的Wordpress一直觉得有点卡顿,所以最高仅...

建站相关 linux

linux 2023-10-14

centos8安装中文支持以显示中文文件名称

偶然发现了github上“jrotty”整理的typecho文档,比官方的要详细一些,排版也很漂亮。就想在自己的服务器上也部署一份,结果上传到服务器之后出现了很多问题,利用F12调试发现了一堆的404错误。文档是markdown格式的...

建站相关 linux

linux 2022-10-14

让unzip解压缩到指定文件夹

阿里云的服务器快要到期了,手上另有一台天翼云的服务器。因为自建博客也不产生什么利润,为了控制成本,准备把手上的两个域名指向同一个服务器,由nginx根据域名分派任务。因为wordpress的压缩包默认解压到同文件夹的名为“wordpr...

建站相关 linux

linux 2022-10-12

EPEL企业Linux增强软件包

EPEL是一个Fedora特别兴趣小组,它为企业Linux创建、维护和管理一组高质量的附加软件包,包括但不限于Red Hat Enterprise Linux (RHEL)、CentOS、 Scientific Linux (SL)、...

建站相关 linux

linux 2022-10-11

阿里云ECS服务器如何重新安装系统

老博客已经有小半年没有更新,之前的库存文章也手工迁移完毕,准备重新安装下系统,之前一直用的Lamp环境,趁此机会学习一下如何使用Nginx。阿里云ECS控制台首先当然是登录阿里云,进入ECS控制台,点击实例名称进入详情页;运行中的服务...

建站相关 linux

linux 2022-09-30

linux的邮件提示功能

捣鼓定时任务的时候系统提示了这样一条信息:“You have new mail in /var/spool/mail/root”,按图索骥去看了一下,是个挺大的文件,保存了从服务器创建至今的所有邮件,进度条很长,硬是用pagedown...

建站相关 linux

linux 2022-09-30

为linux添加一个定时任务

博客文章不多,不准备另行安装一个插件来生成sitemap,参考(照搬)了张戈博客的免插件sitemap代码,利用一个php文件来生成sitemap。接下来准备利用wget命令抓取并另存为xml文件,实现文件的静态化。linux的cro...

建站相关 linux