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

Bash shell脚本如何检查一个目录是否存在

问: Bash shell 脚本什么命令检查某个目录是否存在?...如果不考虑符号链接到目录情况,后续命令可能无法按预期工作,因为符号链接也会通过这个检查。... Unix 早期设计,许多系统资源都被抽象为文件,以实现统一和一致接口处理,这样程序员可以使用相同系统调用来操作不同资源,如普通文件目录、设备等。...这种哲学影响了许多 Unix-like 操作系统,包括 Linux。 这里顺便整理一下 Bash 文件各种测试: -a file -- 如果文件存在则为真。...-b file -- 如果文件存在且为块特殊文件则为真。 -c file -- 如果文件存在且为字符特殊文件则为真。 -d file -- 如果文件存在且为目录则为真。

20410

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

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

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

原 shell脚本逻辑判断,文件目录

shell脚本逻辑判断: 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(=);...a=1 那么 a 就不>3 所以就不满足条件,就是else 第三种格式:if …; then … ;elif …; then …; else …; fi 文件目录属性判断: 【 if file 】 判断是否是普通文件...,切存在 【-d file 】判断是否是目录,且存在 【 -e file 】判断文件目录是否存在 【 -r file 】判断文件是否可读 可写 可执行 = 类似 判断不同写法:【 -f $f 】||.../lalala文件为空,或者被删除的话,脚本就会运行出错,出现bug 应该加上一个判断条件 #!...: 在网卡系统服务脚本,如,/etc/init.d/iptables中就用到了case case,可以条件中使用“|”,表示或意思 输入一个同学分数,判断成绩是否及格,优秀。

1.3K50

如何在Linux 系统比较Bash脚本字符串?

Bash 脚本中比较字符串需求相对普遍,可用于继续执行脚本下一部分之前检查某些条件。 字符串可以是任何字符序列。...本教程,我们将向您展示如何在Linux 系统比较Bash 脚本字符串,我们将在一个简单 if/else Bash 脚本上下文中展示这一点,这样您就可以看到开发脚本时测试这种情况是如何工作...本教程,您将学习: 如何在 Bash 中比较字符串 比较字符串 if/else Bash 脚本示例 Bash 脚本:字符串比较示例 例1 Bash 脚本,您通常会将一个或两个字符串存储为变量...总结 本教程,我们了解了如何在 Bash 脚本中比较字符串,尤其是 Bash 脚本上下文中if/else。...当然,此功能可以扩展到更健壮脚本,这些脚本可以读取用户输入或使用 case 运算符等。这些都是 Bash 中比较字符串所需所有比较方法。

3.8K00

两个目录,删除其中一个目录同名文件做法

假设现在有一个目录/mnt/data,还有另外一个目录/opt/data,需要删除/opt/data目录中和/mnt/data目录同名文件。...-. 1 root root 0 Jan 10 23:25 huihui -rw-r--r--. 1 root root 0 Jan 10 23:25 shanghai 正确做法: 注意,下面命令.../ grep -v 参数指定反选择, /$指定以/结尾搜索模式,因此该命令将输出不带/结尾项,也就是只输出/opt/test_a目录文件名,不包含子目录。...xargs命令-I{} 指定用管道传递过来输入替换后面命令{}字符串,重复多次,直至管道没有输入 注:xargs加上 -t 参数,可以看到替换效果 检查一下,发现上面命令执行后,/opt/data...目录同名文件已经删除了 [root@centos6-vm01 data]# ll /mnt/data/ total 0 -rw-r--r--. 1 root root 0 Jan 10 23:24

1.5K100

系统运维| CentOSRHEL 系统生成补丁合规报告 Bash 脚本

根据你需要添加cronjob来自动执行此功能。 此bash脚本通常适合于少于50个系统运行,但没有限制。 保持系统最新是Linux管理员一项重要任务,它使你计算机非常稳定和安全。...以下文章可以帮助你了解有关在红帽(RHEL)和CentOS系统安装安全修补程序更多详细信息。 如何在CentOS或RHEL系统检查可用安全更新?...RHEL和CentOS系统安装安全更新四种方法RHEL和CentOS检查或列出已安装安全更新两种方法此教程包含四个shell脚本,请选择适合你脚本。...方法1:为CentOS/RHEL系统安全修补生成补丁合规性报告Bash脚本脚本只会生成安全修补合规性报告。它会通过纯文本发送邮件。...方法2:为CentOS/RHEL系统安全修补、bugfix、增强生成补丁合规性报告Bash脚本脚本会为你生成安全修补、bugfix、增强补丁合规性报告。它会通过纯文本发送邮件。

46230

bash shell:脚本修改profile文件更新LD_LIBRARY_PATH示例

sed编辑器被称作流编辑器(stream editor),跟普通交互式文件编辑器相反。交互式编辑器(比如vim),你可以用键盘命令来交互式地插入、删除或替换数据文本。...流编辑器则会在编辑器处理数据之前基于预先提供一组规则来编辑数据流。 于是我们可以利用sed编辑器安装脚本实现对profile文件修改。...下面我们以一个实际应用例子来说明: 我已经有一个叫CASSDK项目,这个项目没有可执行文件,只是一组动态库文件提供别的应用程序调用(比如java),需要为它写一个安装脚本脚本作用是将在将文件复制到指定安装目录...另外还要写一个卸载脚本删除安装目录后,同时将profileLD_LIBRARY_PATH变量也同步修改。...,文件末尾添加export语句INSTALL.sh # 定义安装目录位置变量 cassdk_path=/home/gdface/cassdk # 定义要在profile搜索行 new_export

2.9K20

Bash解析命令行参数两种样例脚本

/bin/bash POSITIONAL_ARGS=() #初始化一个空数组,用来存储位置参数 while [[ $# -gt 0 ]]; do #当命令行参数数量大于0时,进入循环 case...$1 in -e|--extension) #如果参数是这个,脚本会将紧随其后参数(文件扩展名)保存在变量 EXTENSION EXTENSION="$2" shift...# 跳过参数 shift # 跳过后面的值 ;; -s|--searchpath) #如果参数是这个,脚本会将紧随其后参数(搜索路径)保存在变量 SEARCHPATH... SEARCHPATH="$2" shift # 跳过参数 shift # 跳过后面的值 ;; --default) #如果参数是这个,脚本会将变量...#*=}" #使用 ${i#*=} 来提取等号 = 后面的值(即文件扩展名),并将其保存在变量 EXTENSION shift # past argument=value

11110

Shell脚本逐行读取文件命令方法

方法一、使用输入重定向 逐行读取文件最简单方法是while循环中使用输入重定向。...变量为文本文件每行内容 Tips:可以将上面的脚本缩减为一行命令,如下: [root@localhost ~]# while read rows; do echo "Line contents are...- 使用echo显示输出内容,输出内容包括自定义字符串和变量,$rows变量为文本文件每行内容 Tips:可以将上面的脚本缩减为一行命令,如下: [root@localhost ~]# cat mycontent.txt...|while read rows;do echo "Line contents are : $rows";done 方法三、使用传入文件名作为参数 第三种方法将通过添加$1参数,执行脚本时,脚本后面追加文本文件名称...,通过单独读取行,可以帮助搜索文件字符串。

8.7K21

shell脚本逻辑判断,文件目录属性判断,if特殊用法,case语句

笔记内容: 20.5 shell脚本逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断 笔记日期:2017-11-22 20.5 shell脚本逻辑判断...为了演示if语句中满足了其中一个elif判断条件,下面的语句就不再执行,我们可以脚本中加多一个elif语句: 代码示例: ? 运行结果: ?...shell中经常会和文件目录打交道,所以这个时候对文件目录判断就比较重要了。例如经常会需要去判断这个文件是否存在、文件大小是否大于或小于多少、文件属主属组是谁等等。...如果你只是想执行一些简单判断文件目录属性语句,可以利用逻辑运行符一行代码完成,例如我要判断一个文件是否存在,存在的话就删除这个文件,代码示例: ?...其中脚本里第一行read语句,是用来接收用户输入内容,然后这个内容会存储n这个变量。 还用到了sed命令,下面跟了个if判断,这一段代码是为了防止用户输入非数字字符。 运行结果: ?

3.5K30

CentOS引入适用于目录文件权限

要在CentOS Linux引入适用于目录文件权限,让我们看看下面的命令输出。...root 970 Nov 15 08:30 /etc/yum.conf drwxr-xr-x. 2 root root 187 Nov 15 08:30 /etc/yum.repos.d 注 - 您将看到三种主要对象类型是...“ - ” - 纯文件短划线 “d” - 用于目录 “l” - 用于符号链接 我们将重点关注每个目录文件三个输出块 - drwxr-xr-x:root:root -rw-r - r--:root...:root drwxr-xr-x:root:root 现在让我们分解这些,以更好地理解这些线 - d 意味着对象类型是一个目录 rwx 指示应用于所有者目录权限 r-x 指示应用于组目录权限 r-x...指示适用于世界目录权限 root 第一个实例表示目录所有者 root 第二个实例表示应用了哪些组权限

80410

Linux系统恢复误删除文件目录命令方法

linux删除文件还原可以分为两种情况,一种是删除以后进程存在删除信息,一种是删除以后进程都找不到,只有借助于工具还原,这里分别检查介绍下。 一、误删除文件进程还在情况。.../testdelete.py 命令查看这个目录文件已经不存在了,那么现在我们将其恢复出来。 1. lsof查看删除文件进程是否还存在。...恢复命令: cp /proc/pid/fd/1 /指定目录/文件名 进入 进程目录,一般是进入/proc/pid/fd/,针对当前情况: [root@21yunwei_backup ~]# cd...创建准备删除目录并echo一个 带有内容文件: [root@21yunwei_backup 21yunwei]# tree . ├── deletetest │ └── mail │...比如停止所在分区服务,卸载目录所在设备,有必要情况下都可以断网。 通过dd命令对当前分区进行备份,防止第三方软件恢复失败导致数据丢失。

7.2K30

Linux 永久并安全删除文件目录方法

引言 大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们计算机删除文件,但这不是永久安全地从硬盘(或任何存储介质)删除文件方法。...2.wipe – Linux 安全删除文件 wipe 命令可以安全地擦除磁盘文件,从而不可能恢复删除文件目录内容。 首先,你需要安装 wipe 工具,运行以下适当命令: ?...下面的命令会销毁 private 目录所有文件。 ? 当使用下面的标志时: ? ? 注意:wipe 仅可以磁性存储可以可靠地工作,因此对固态磁盘(内存)请使用其他方法。...安装完成后,你可以使用 srm 工具 Linux 安全地删除文件目录。 ? 下面是使用选项: ? ? 阅读 srm 手册来获取更多使用选项和信息: ?...假设你创建了一个单独分区 /home 来存储正常系统用户主目录,你可以该分区指定一个目录,以便在其应用 sfill: ?

4.4K50

Eclipse直接打开java文件计算机目录

Eclipse关联打开文件计算机目录 Step1 - 安装插件  菜单栏Help -> Install New Software…  如图: Step2 - 指定插件URL  弹出界面中点击...选择自己需要安装选项,不要可不选。这里物品们选择ExploreFS(即关联到文件系统意思),点击Finish(笔者电脑已安装,所以这里不可选了)。...之后可能会有提示说一些协议问题,直接忽略,continue即可。  如图: Step4 - 重启eclipse  安装完成,需要重启eclipse。  ...如图: Step5 - 文件系统里面打开选定文件  重启生效后,点击文件可以看到Explore in File System选项。...我们右键点击BubbleSortUtil.java文件可以看到该选项,点击后直接打开该java类文件文件系统位置。很方便吧。  如图:

1K10

Linux 不使用 CD 命令进入目录文件方法

shopt 是一个 shell 内置命令,用于设置和取消设置各种 bash shell 选项,由于它已安装,因此我们不需要再次安装它。 是的,我们可以启用此选项后,可以不使用 cd 命令切换目录。...如果你尝试没有 cd 命令情况下切换 Linux 目录/文件夹,你将看到以下错误消息。这在 Linux 很常见。...$ Documents/ bash: Documents/: Is a directory 为此,我们需要在用户 .bashrc 追加以下值。 什么是 .bashrc ?....bashrc 是一个 shell 脚本,每次用户以交互模式打开新 shell 时都会运行该脚本。 你可以文件添加要在命令提示符下输入任何命令。...Linux 不使用 CD 命令进入目录/文件方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

6K21

【Android 逆向】修改 Android 系统文件 ( Android 逆向需要经常修改文件目录 | root 后设备获取 目录 rw 权限后注意事项 )

文章目录 一、Android 逆向需要经常修改文件目录 二、 root 后设备获取 / 目录 rw 权限后注意事项 1、不要随意执行 wipe 命令 2、不要随意执行 rm 命令 一、Android...逆向需要经常修改文件目录 ---- 系统配置文件 : /default.prop 文件是系统配置信息 ; 可执行程序存放目录 : 如果需要向 Android 系统 , 添加一些可执行程序 ,...B , 将原有的 so 文件重命名为 C , A 动态库 调用 C 动态库函数 , 这样就相当于调用时加了一层拦截 , 可以在此处获取各种参数 ; 配置文件目录 : Android 配置文件一般都在.../system/etc/ 目录 ; 二、 root 后设备获取 / 目录 rw 权限后注意事项 ---- 1、不要随意执行 wipe 命令 wipe 命令不要轻易执行 ; 执行 wipe system...是上述两个命令之和 , 类似于目录执行 rm -r * 命令 ; 2、不要随意执行 rm 命令 如果执行 rm -rf \ 命令 , 并且有足够权限 , 系统就没了 ;

1.7K10
领券