首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何Bash脚本本身中获得其所在目录

问: 如何Bash脚本本身中获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录下文件进行操作,像这样: $ ....但是在以相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...$script_dir 其中第3行代码,无论从何处调用它,都将为你提供脚本完整目录路径。...测试结果如下: 另外,可以根据第一种方法结合使用 realpath 命令,也可获取脚本所在目录绝对路径: #!.../(点-斜杠),以便在bash中运行它 shell脚本对编码和行尾符敏感吗

22720
您找到你想要的搜索结果了吗?
是的
没有找到

SAR 报告中获取平均 CPU 利用率 Bash 脚本

大多数 Linux 管理员使用 SAR 报告监控系统性能,因为它会收集一周性能数据。但是,你可以通过更改 /etc/sysconfig/sysstat 文件轻松地将其延长到四周。...在本文中,我们添加了三个 bash 脚本,它们可以帮助你在一个地方轻松查看每个数据文件平均值。 这些脚本简单明了。出于测试目的,我们仅包括两个性能指标,即 CPU 和内存。...你可以修改脚本其他性能指标以满足你需求。 SAR 报告中获取平均 CPU 利用率 Bash 脚本bash 脚本每个数据文件中收集 CPU 平均值并将其显示在一个页面上。...done echo "+----------------------------------------------------------------------------------+" 运行脚本后...2: SAR 报告中获取平均内存利用率 Bash 脚本

1.6K10

Java 应用容器化最佳实践

: 间接 Exec 方式 熟悉 Docker 同学都应该清楚, 在 Dockerfile 里直接运行命令无法解析环境变量; 但是有些时候我们又依赖脚本进行变量解析, 这时候我们可以先在脚本内解析完成...", "/entrypoint.bad.sh"] 对于 dump-init 也有同样问题, 归根结底这个问题根本还是在 bash 上: 当使用 bash 启动脚本后, bash 会 fork 一个新子进程...: 使用 docker run -m 512m ......因为这两个版本在不设置情况下有个奇怪差异: 可以看到, 11.0.16 版本在不做任何设置时自动适应了容器内存限制, 堆内存接近 4G 变为了 120M。...为了测试 DNS 缓存情况我某大佬[6]这里抄来一个测试脚本, 该脚本会测试三个版本 OpenJDK DNS 缓存情况: jvm-dns-ttl-policy.sh #!

1.8K30

Docker in docker一些故障检查过程

这个镜像准备步骤是docker下载当前1.9.1版安装(并固化到镜像里)CMD是一个脚本,先启动带debug选项docker daemon 并放后台运行,然后pull并运行centos:7 一次,...不过1.8.2 RPMdocker-storage-setup脚本有问题 https://bugs.centos.org/view.php?...如果kill掉start_docker.sh启动docker daemon,手工在docker exec bash命令行上另启动一个daemon,则一定出/sys/fs/cgroup/docker.service...凝神定志,用重量级武器strace -f 跟踪内层docker daemon,记录下其文件访问行为,并比对错误信息,可以清晰看到准备容器文件系统内容、mount、准备容器cgroup环境、运行程序、...失败、清理现场过程,而且发现对 /sys/fs/cgroup/docker.service 访问是由 内层daemon调用native exec driver 执行,还未运行到启动容器内程序步骤

18210

如何看不懂Dockerfile到创建自己镜像

前期顺风顺水直到看了胡博士文章,对其Dockerfile内容有很多不理解,后来明白Docker并不是单一独立存在,你想要创建镜像集成了所需环境、软件、数据库以及脚本等,是生信处理能力综合性体现...sklearn RUN conda install mysql-python 下载数据和脚本 12....启动容器并运行脚本 docker run -it -v ~/data/fastq:/data/fastq -v ~/data/script:/data/script aca8551e61bb nohup...,其在启动容器时执行echo命令,然而奇怪事情发生了,启动容器后确实输出了"Hello,World!"却没进入容器中,就好像没被开启。如下图: ?...有需要让脚本在容器启动时运行,则可以加-d参数让容器在后台以守护状态运行docker run -it -d IMAGES_ID /bin/bash

2.7K20

GraalVM 加持 Java 容器化,速度起飞!

: 间接 Exec 方式 熟悉 Docker 同学都应该清楚, 在 Dockerfile 里直接运行命令无法解析环境变量; 但是有些时候我们又依赖脚本进行变量解析, 这时候我们可以先在脚本内解析完成...", "/entrypoint.bad.sh"] 对于 dump-init 也有同样问题, 归根结底这个问题根本还是在 bash 上: 当使用 bash 启动脚本后, bash 会 fork 一个新子进程...: 使用 docker run -m 512m ... ...因为这两个版本在不设置情况下有个奇怪差异: 可以看到, 11.0.16 版本在不做任何设置时自动适应了容器内存限制, 堆内存接近 4G 变为了 120M。...为了测试 DNS 缓存情况我某大佬[6]这里抄来一个测试脚本, 该脚本会测试三个版本 OpenJDK DNS 缓存情况: jvm-dns-ttl-policy.sh #!

94840

Docker:第二章:部署项目,对镜像,容器操作

服务器上项目访问不了,所以我去看了看容器,果然 那我就删除容器呗 :docker rm 容器id docker rm f097e24a9a0f 说明:镜像到容器,同一个镜像构建多个运行 Docker...可以去看看镜像  可以看到仓库,标签,ID,创建时间和大小 从一个镜像运行一个包含一个主进程进程容器命令:docker run -ti --name mall_mall-portal_1 mall/...mall-portal:1.0-SNAPSHOT bash 命令解释: Docker run 是从一个镜像运行一个容器指令。...shell将用户输入翻译为操作系统能处理指令。shell提供了一些内置命令,也支持调用外面工具。 dash,是ubuntu里默认shell。...这就奇怪了,我项目运行是没有报错 错误信息: 无法解析值“$accesskeyid”中占位符“accesskeyid” 第一时间想到是多个properties文件造成,但是项目在浏览器运行没有出错

57130

docker部署项目,对镜像,容器操作

服务器上项目访问不了,所以我去看了看容器,果然 那我就删除容器呗 :docker rm 容器id docker rm f097e24a9a0f 说明:镜像到容器,同一个镜像构建多个运行 Docker...可以去看看镜像  可以看到仓库,标签,ID,创建时间和大小 从一个镜像运行一个包含一个主进程进程容器命令:docker run -ti --name mall_mall-portal_1 mall/...mall-portal:1.0-SNAPSHOT bash 命令解释: Docker run 是从一个镜像运行一个容器指令。...shell将用户输入翻译为操作系统能处理指令。shell提供了一些内置命令,也支持调用外面工具。 dash,是ubuntu里默认shell。...这就奇怪了,我项目运行是没有报错 错误信息: 无法解析值“$accesskeyid”中占位符“accesskeyid” 第一时间想到是多个properties文件造成,但是项目在浏览器运行没有出错

78030

Docker快速入门(二)

注意:docker container run命令具有自动抓取 image 文件功能。如果发现本地没有指定 image 文件,就会仓库自动抓取。...' > /usr/share/nginx/html/index.html 格式二: exec 格式:RUN ["可执行文件", "参数1", "参数2"],这更像是函数调用格式。...RUN 就像 Shell 脚本一样可以执行命令,很多初学者在写Dockerfile时候会像Shell 脚本一样把每个命令对应一个 RUN,比如这样: FROM debian:jessie RUN apt-get...每一个 RUN 行为,就和刚才我们手工建立镜像过程一样:新建立一层,在其上执行这些命令,执行结束后,commit 这一层修改,构成新镜像。 而上面的这种写法,创建了 7 层镜像。...因此,虽然表面上我们好像是在本机执行各种 docker 功能,但实际上,一切都是使用远程调用形式在服务端(Docker 引擎)完成。

70130

dockerreap问题

init进程周期执行wait系统调用reap其所收养所有僵尸进程。...大多数情况下,这个进程并不会有init进程行为,也就是说,这个进程并不会reap收养进程,而是期望init进程来做这件事,这种做法是合理。 来看一个具体例子。...假设容器中跑一个Web服务器,这个服务器运行bash编写CGI脚本脚本调用了grep。Web服务器发现脚本执行超时,杀掉了它,但是grep进程没有受到影响并继续运行。...解决办法 bash 是否已经有现成,流行软件可以做到这一点呢?还真有,这就是bashbash会正确地reap收养子进程。bash可以执行任何程序。...docker init docker提供了一个解决办法,在运行容器时候添加init标志 docker run --init your_image_here 这会让docker内部微型init系统封装应用程序

1.2K30

Docker容器——常用命令清单汇总

Docker容器——常用命令清单汇总 背景 日常我们开发时,我们会遇到各种各样奇怪问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到一些问题记录文章系列,这里整理汇总后分享给大家,让其还在深坑中小伙伴有绳索能爬出来...docker pull centos 默认远程仓库拉取镜像 docker run 容器名 docker run tomcat 运行一个容器,该命令还有很多用法,后续详解 docker help 查看所有...docker后面的命令 docker [run/images] help 查看dockerrun或者images后面的命令,docker后面可以跟其各种支持命令。...将容器状态保存为镜像 docker search 镜像名 远端查找符合镜像 docker rm 容器名 删除容器,注需停止后进行 docker push 镜像名 推送本地镜像到远端 docker...logs -f -t --tail=100 容器名 查看指定容器日志100条 docker exec -i -t 容器名称 /bin/bash 使用bash进入指定容器中。

19310

如何加速WordPress网站

通过运行内置“Hello World”程序检查安装是否成功: docker run hello-world 安装Docker Compose 下载最新版本Docker Compose。...要查找负责此函数调用代码,请Linode执行以下命令: 在WordPress Docker容器上打开一个Bash shell: docker exec -it xhprof_host_net_wordpress_wordpress...负责脚本是睡眠功能: 在WordPress Docker容器Bash shell中,搜索以下代码: root@localhost:/var/www/html# grep -R 'function...一些WordPress插件也可以自动缩小脚本。 浏览器缓存 默认情况下,每次用户访问时,都会您站点Web服务器下载所有页面资源(图像,脚本,样式),即使他们最近访问过它并已经下载了这些项目。...这可能看起来很奇怪,因为Docker Compose文件已经负责运行XHGUI应用程序。

4.1K30
领券