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

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

问: 如何Bash脚本本身获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录下文件进行操作,像这样: $ ....但是在以相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...: [$(dirname $(realpath "$0") )]" 参考: stackoverflow question 59895 相关阅读: 在shell编程$(cmd) 和 `cmd` 之间有什么区别...为什么我不能在脚本中使用"cd"来更改目录 为什么在可执行文件或脚本名称之前需要..../(点-斜杠),以便在bash运行它 shell脚本对编码和行尾符敏感吗

31220

Bash如何字符串删除固定前缀后缀

更多好文请关注↑ 问: 我想从字符串删除前缀/后缀。例如,给定: string="hello-world" prefix="hell" suffix="ld" 如何获得以下结果?...如果模式与 parameter 扩展后开始部分匹配,则扩展结果是 parameter 扩展后删除最短匹配模式(一个 # 情况)或最长匹配模式(## 情况)值 ${parameter...如果模式与 parameter 扩展后末尾部分匹配,则扩展结果是 parameter 扩展后删除最短匹配模式(一个 % 情况)或最长匹配模式(%% 情况)值。...https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion 相关阅读: 在bash:-(冒号破折号)用法...在Bash如何将字符串转换为小写 在shell编程$(cmd) 和 `cmd` 之间有什么区别 如何Bash变量删除空白字符 更多好文请关注↓

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

    如何 Debian 系统 DEB 包中提取文件

    本文将详细介绍如何 Debian 系统 DEB 包中提取文件,并提供相应示例。图片使用 dpkg 命令提取文件在 Debian 系统,可以使用 dpkg 命令来管理软件包。...该命令提供了 -x 选项,可以用于 DEB 包中提取文件。...以下是几个示例:示例 1: 提取整个 DEB 包内容dpkg -x package.deb /path/to/extract这条命令将提取 package.deb 所有文件,并将其存放在 /path...示例 2: 提取 DEB 包特定文件dpkg -x package.deb /path/to/extract/file.txt这条命令将提取 package.deb 名为 file.txt 文件...提取文件后,您可以对其进行任何所需操作,如查看、编辑、移动或复制。结论使用 dpkg 命令可以方便地 Debian 系统 DEB 包中提取文件

    3.3K20

    实用:如何将aoppointcut值配置文件读取

    我们都知道,java注解里面的值都是一个常量, 如: @Pointcut("execution(* com.demo.Serviceable+.*(..))")...这种方式原则上是没有办法可以进行改变。但是我们又要实现这将aop切面值做成一个动态配置,每个项目的值都不一样,该怎么办呢?...等配置文件。...这样,各项目只须要引用该jar,然后在配置文件中指定要拦截pointcut就可以了。 ---- 大黄:本文主要为抛砖引玉,提供一个思路。...比如,我们定时器采用注解方式配置时候,cron表达式也是注解里面的一个字符串常量,那么,我们能不能通过配置文件方式来配置这个cron呢?原理都是一样

    23.8K41

    Linux系统编译、链接基石-ELF文件:扒开它层层外衣,字节粒度来探索

    可以看出来:这个 Section 在 ELF 文件偏移地址是 0x0016ed,长度是 0x00010a 个字节。 下面,我们 ELF header 二进制数据,来推断这信息。...读取字符串表 Section 内容 那我就来演示一下:如何通过 ELF header 中提供信息,把字符串表这个 Section 给找出来,然后把它字节码打印出来给各位看官瞧瞧。... ELF header 得知如下信息: 字段 e_phoff :Program header table 位于 ELF 文件偏移 52 个字节地方。...p_type: 段类型,1: 表示这个段需要加载到内存; p_offset: 段在 ELF 文件偏移地址,这里值为 0,表示这个段 ELF 文件头部开始; p_vaddr:段加载到内存虚拟地址...注意:有些段是不需要加载到内存; 经过上述分析,我们就知道: ELF 文件第 1 到 第 1860 个字节,都是属于这个 LOAD 段内容。

    80720

    如何使用IPGeo捕捉网络流量文件快速提取IP地址

    关于IPGeo  IPGeo是一款功能强大IP地址提取工具,该工具基于Python 3开发,可以帮助广大研究人员捕捉到网络流量文件(pcap/pcapng)中提取出IP地址,并生成CSV格式报告...在生成报告文件,将提供每一个数据包每一个IP地址地理位置信息详情。  ...报告包含内容  该工具生成CSV格式报告中将包含下列与目标IP地址相关内容: 1、国家; 2、国家码; 3、地区; 4、地区名称; 5、城市; 6、邮编; 7、经度;...8、纬度; 9、时区、 10、互联网服务提供商; 11、组织机构信息; 12、IP地址;  依赖组件  在使用该工具之前,我们首先需要使用pip3包管理器来安装该工具所需依赖组件...: git clone https://github.com/z4l4mi/IpGeo.git  工具使用  运行下列命令即可执行IPGeo: python3 ipGeo.py 接下来,输入捕捉到流量文件路径即可

    6.6K30

    源码层面分析MybatisDao接口和XML文件SQL是如何关联

    对象类build方法创建,而xml文件解析就是在这个方法里调用。...注意这里还是解析mybatis配置文件,还没到我们xml sql文件。有人可能有疑问,这里package、resource是啥啊,在mybatis配置文件好像也没看到啊?...总结下: XML文件每一个SQL标签就对应一个MappedStatement对象,这里面有两个属性很重要。 id:全限定类名+方法名组成ID。...springboot用法,或者也可以使用xml配置方式。...总结下,当我们调用到Dao接口方法时,则会调用到MapperProxy对象invoke方法,最终会通过接口全路径名Configuration这个大管家某个map里找到MappedStatement

    2.1K20

    【备份策略】使用逻辑备份辅助物理备份

    可是如何进行排除部分表逻辑备份呢?...在Oracle10g以前版本,可以通过指定tables列表方法,来排除不需要导出数据表,但是指定固定列表存在一个最严重问题是,当数据库数据表发生变化时,如增加了新数据表,则必须重新修改这个列表文件...参数和filesize参数配合,当一个导出文件大于filesize指定大小时,即开始转储内容到下一个文件,在某些不支持大文件平台上,这个两个参数极为有效。...Oracle 10g开始,OracleEXPDP增加了排除或包含表特定功能,方便了我们某些特殊需求。...同样,EXPDP也支持通配符匹配导出操作,例如,如下参数文件将导出表名包含E字母所有表: bash-2.03$ cat parfile.par directory=DATA_PUMP_DIR schemas

    2.6K110

    LINUX常用命令之find用法

    语法:find [路径][选项] [操作] 选项: -name  根据文件名查找   -perm  根据文件权限查找   -prune  该选项可以排除某些查找目录   -user  根据文件属主查找  .../moonrong/.bash_logout   ./moonrong/.bash_profile   ....-type p   -size  根据文件大小查询 -n  小于 大小为 n 文件   +n  大于 大小为 n 文件   查找 /ect 目录下,小于 10000 字节文件 find /etc... -size +10000c   查找 /etc 目录下,大于 1M 文件 find /etc -size -1M   -mtime -n  n 天以内修改文件。  ... d   -mindepth n  第 n 级目录开始搜索 /etc 第三级子目录开始搜索 find /etc -mindepth 3   -maxdepth n  表示至多搜索到第 n-1 级子目录

    56321

    Linux中使用rsync数据备份工具和实例

    第一次,它将一个文件或目录全部内容文件复制到目标文件,但从下一次开始,它只将更改块和字节复制到目标文件。 4.Rsync在两端发送和接收数据时采用压缩和解压缩方式,因此占用带宽较少。...only) -z, ––compress 在传输文件时进行压缩处理 ––exclude=PATTERN 指定排除一个不需要传输文件匹配模式 ––exclude-from=FILE FILE 读取排除规则...––include=PATTERN 指定需要传输文件匹配模式 ––include-from=FILE FILE 读取包含规则 ––copy-unsafe-links 拷贝指向SRC路径目录树以外链接文件...在本教程,您学习了如何使用Rsync在多台Linux之间传输、复制或同步文件和目录。...在Rsync用户手册页面上有更多关于Rsync内容。下次再讲如何通过rsync+inotify实时同步文件

    1.3K10

    Shell 编程(三):Shell 编程常用工具

    ] 参数 作用 -e 将排除在寻找范围之外。...-f 将特定档案系统排除在外,例如我们没有道理要把proc档案系统档案放在资料库。 -q 安静模式,不会显示任何错误讯息。 -n 最多显示n个输出。 -r 使用正规运算式做寻找条件。...-n +n 按文件大小查找 -mindepth n n级子目录开始搜索 -maxdepth n 最多搜索到n级子目录 操作 操作 含义 -print 打印输出(默认) -exec 对搜索到文件执行特定操作...为什么which后面是文件?因为Linux一起皆为文件,执行文件也是文件 参数 作用 -n 指定文件名长度,指定长度必须大于或等于所有文件中最长文件名。...Whereis 命令 在特定目录查找符合条件文件。这些文件应属于原始代码、二进制文件,或是帮助文件。该指令只能用于查找二进制文件、源代码文件和man手册页。

    51310

    如何复制 OR 删除 200 万个小文件,而且电脑不卡?

    Windows 系统,单个文件夹下根目录文件有超过 200w,如何快速复制到另外一个电脑上? ?.../MOV :: 移动文件(复制后删除)。 /MOVE :: 移动文件和目录(复制后删除)。 /A+:[RASHCNET] :: 将给定属性添加到复制文件。.../A-:[RASHCNET] :: 复制文件删除给定属性。 /CREATE :: 仅创建目录树和长度为零文件。 /FAT :: 仅使用 8.3 FAT 文件名创建目标文件。.../IT :: 包含已调整文件。 /MAX:n :: 最大文件大小 - 排除大于 n 字节文件。 /MIN:n :: 最小文件大小 - 排除小于 n 字节文件。.../TS :: 在输出包含源文件时间戳。 /FP :: 在输出包含文件完整路径名称。 /BYTES :: 以字节打印大小。 /NS :: 无大小 - 不记录文件大小。

    2.9K51

    系统总结一波Linux下find命令,查找就是这么清晰

    介绍 Linux系统 find 命令在查找文件时非常有用而且方便。它可以根据不同条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。...-perm 根据文件权限进行查找 -prune 排除 查找目录 -user 根据文件属主查找 -group 根据文件属组查找 -mtime -n | +n 根据文件更改时间查找 -type 按照文件类型查找...b 块设备文件 l 链接文件 p 管道文件 -size选项 类型 解释 -n 大小小于n文件 +n 大小大于n文件 n 大小等于n文件 查找/etc目录下小于1000字节文件 find.../etc -size -1000c 查找/etc目录下大于1M文件 find /etc -size +1M -mtime选项 类型 解释 -n n天以内修改文件 +n n天以外修改文件 n 正好...n天修改文件 推荐阅读: Spring Boot是如何通过自动装配来简化开发

    57520

    Linux大人养成计划1---基础命令总结

    ] 选项: -a 显示所有文件,包括隐藏文件 -l 显示详细信息 -d 查看目录属性 -h 人性化显示文件大小(例如以k显示,而不是字节) ?...匹配任意一个字符 [] 匹配任意一个括号内字符 2). find /root –iname install.log root目录不区分大小写搜索 3). find /root –user...2).通过Bash调用执行脚本 bash hello.sh 输出结果与上面的一样 Bash基本功能 1.查看与设定别名 使用别名可以减少我们工作量等。...注: 自带历史保存文件名:~/.bash_history (2).历史命令调用 使用上下箭头调用以前历史命令 使用”!...(2).输入重定向 wc[选项] [文件名] 选项参数: -c : 统计字节数 -w : 统计单词数 -l : 统计行数 命令< 文件文件作为命令输入 命令<< 标识符 键盘输入字符

    61030

    常用简单命令_bash笔记2

    其它常用功能选项: # 给文件内容添上行号 cat -n test.sh # 把文件连续多个空行压缩成一个 cat -s test.sh find 基本规则 文件目录向下遍历,匹配符合条件,处理...-type f -amin $((-1 * 60 * 24)) 还可以指定一个文件作为参照,找出更新(修改时间更近文件: # 找出父级目录,比~/.bash_profile更新文件 find...-type f -newer ~/.bash_profile 按文件大小搜索 # 当前目录下大于1K文件 find ....filename:$filename # 提取扩展名 ext=${file##*.} echo ext:$ext 用法如下: # var删掉%右侧通配符所匹配字符串,右边向左匹配 ${var...%.*} # %%贪婪匹配,会找出最长串,%匹配最短串 ${var%.*}# var删掉#右侧通配符所匹配字符串,左向右匹配 ${var#*.} # 对应贪婪匹配 ${var##*.}

    54410
    领券