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

Linux: Shell脚本中处理文件路径参数,兼容相对路径绝对路径

在编写Shell脚本时,处理文件路径参数是一个常见需求。路径参数可能是相对路径或绝对路径,如何编写一个兼容两者Shell脚本并进行路径检查,是本文主要内容。...一、问题背景需求 在处理文件路径时,我们需要: 兼容相对路径和绝对路径输入。 检查路径是否有效,即路径所指向文件或目录是否存在。...二、实现思路 判断路径类型:根据路径第一个字符判断是相对路径还是绝对路径。 转换相对路径为绝对路径:对于相对路径,需要将其转换为绝对路径,以便后续处理。...路径检查:检查路径是否存在,并确认其是文件还是目录。 三、具体实现 以下是一个Shell脚本示例,实现了上述功能: sh #!...这不仅提高了脚本灵活性,还增强了健壮性,避免因路径问题导致错误。

9110

Shell脚本应用(shell脚本基础shell变量)

1、shell:命令解释器 1)可支持shell保存在/etc/shells中 2)默认shell为/bin/bash 2、shell脚本编写: 1)使用vi编辑器 2)每行一条命令,依次执行 3...)赋予可执行权限(x) 3、执行方式: 1)脚本文件路径:有两种,相对和绝对路径,必须有x权限 2)Sh脚本文件路径:无须x权限,相对和绝对路径都可以,在子shell上 3)Source(或 .)脚本文件路径...:无须x权限,在当前sell执行 4、脚本组成: 1)脚本声明:指定脚本执行shell,以#!...4)SHELL:当前用户shell 5)HOME:当前用户宿主目录 6)HISTSIZE:记录历史命令数,默认为1000条 7)UID:当前用户ID 9、位置变量:命令参数位置,由$1~$9代表...,第一个到第九个 10、预定义变量: 1)$#:命令行中位置变量个数 2)$*:所有位置变量内容 3)$?

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

shell脚本文件加密

shell脚本         welcome.sh.x 是二进制格式加密shell脚本         welcome.sh.x.c 是welcome.sh文件C源代码。...可以使用file命令查看文件类型:         [root@localhost scripts]# file welcome.sh         welcome.sh: POSIX shell...脚本:         现在,让我们执行加密Shell脚本,确保能够运行:         [root@localhost scripts]# ....即在这个到期日期之后,当有人尝试执行Shell脚本时,将收到错误消息。使用shc -e选项创建一个新加密Shell脚本,指定到期日期。到期日期以dd/mm/yyyy 格式指定。        ...# 删除之前创建.x , .x.c文件         [root@localhost scripts]# rm -rf welcome.sh.x*         # 创建带有过期时间加密脚本

1.5K20

Shell脚本加密解密

我们写shell脚本里面通常会包含帐号密码等信息或者你不想让别人看到信息,那么把写好shell脚本进行简单加密显得有些必要了。...常用shell加密方法有两种,一种是通过gzexe加密,另一种是通过shc加密。 我们先给一个简单脚本,然后用它来进行加密解密演示,脚本abc.sh内容如下 1 2 #!...gzexe加密解密shell脚本 (tips:绿色为输出内容) 1 2 3 4 5 6 7 8 9 bash abc.sh         # 执行后显示内容 hello world!...但是通过gzexe加密shell脚本并不是很安全,细看我们如何通过abc这个乱码执行文件还原成原来shell脚本。 ?...但是通过gzexe加密shell脚本并不是很安全,细看我们如何通过abc这个乱码执行文件还原成原来shell脚本

13.7K30

Linux发邮件shell脚本群发邮件shell脚本

Linux发邮件shell脚本群发邮件shell脚本 说明:因为明天统计疫情健康打卡,需要通知同学完成打卡,最开始是一个人一个人进行QQ通知,为了方便通知,我利用Linux写了一个shell定时群发邮件提醒脚本...,如果大家有需要可以参考我方式方法 下面我将我进行配置方法分享给大家 1.Linux安装邮件服务 因为Linux默认没有安装mail邮件服务,我们将进行安装,输入安装命令等待几秒即可安装成功...yum install mailx 2.配置发送邮件服务即你邮箱 2.1 在命令行中输入 vim /etc/mail.rc 后回车 2.2在文件最后添加下面配置 编辑该文件前需要 先按键盘...i 进入编辑状态 # smtp服务器认证用户名 set from=xiaoandx@qq.com # smtp服务器地址 set smtp=smtps://smtp.qq.com:465...4.邮件测试 echo "测试邮件" | mail -s -v "测试" xiaoandx@qq.com 如果收到邮件即测试成功 5.编写shell脚本 根据我实际情况,我需要一个群发邮件脚本,考虑到群发

3.1K20

编程语言shell脚本

2.1、 命令和文件自动补全 Tab只能补全命令和文件 (RHEL6/Centos6) 2.2、 常见快捷键—提升操作熟练度 ^c 终止前台运行程序 ^z 将前台运行程序挂起到后台 ^...shell脚本精髓 学会60% 按照顺序执行。 它是解释型,意味着不需要编译。...重复化、复杂化工作,通过把工作命令写成脚本,以后仅仅需要执行脚本就能完成这些工作。 ①自动化分析处理 ②自动化备份 ③自动化批量部署安装 ④等等… 如何学习shell脚本?...尽可能记忆更多命令 掌握脚本标准格式(指定魔法字节、使用标准执行方式运行脚本) 必须熟悉掌握脚本基本语法(重点) 学习脚本秘诀: 多看(看懂)——>多模仿(多练)——>多思考 4、shell...表示读取文件,执行文件命令 – 命令式脚本执行方法: 定义命令路径变量 PATH PATH=$PATH:脚本路径 备注:脚本必须给执行权限 三、学习视频 视频:编程语言介绍 视频:shell介绍

36910

【.sh】Shell 脚本文件基础内容

基础知识 .sh文件是什么? .sh文件Shell 脚本文件,通常用来执行一系列命令。...Shell脚本文件使用Shell编程语言编写,可以包含各种命令、条件判断、循环等,用于自动化任务、执行系统管理任务等。Shell脚本文件可以通过终端或者其他脚本执行器运行。...Shell脚本本质上是一系列Shell命令和控制结构集合。...下面是一个简单.sh文件示例,它会输出"Hello, World!"到终端: 创建sh文件,比如我创建一个名为 test01.sh shell脚本. vi test01.sh 内容如下: #!...: 2.2 示例二 输入输出+创建 以下是一个简单Shell脚本示例,它会提示用户输入姓名,并向用户打印一条欢迎消息: 创建sh文件,比如我创建一个名为 test02.sh shell脚本. vi

13110

Shell 脚本条件测试比较

Shell脚本条件测试 语法 说明 test 利用test命令进行条件测试 [] 通过[]进行条件测试 [[]] 通过[[]]进行条件测试 (()) 通过(())进行条件测试 test语法 test...-L 文件 文件存在且为链接文件为真,及测试表达式成立 f1 -nt f2 文件f1比文件f2新则为真,即表达式成立,根据文件修改时间来计算 f1 -ot f2 文件f1比文件f2旧则为真,即表达式成立...,根据文件修改时间来计算 字符串测试表达式 字符串测试符 说明 -n "字符串" 若字符串不为“0”,则为真,即表达式成立 -z "字符串" 若字符串为“0”,则为真,即表达式成立 "串1" = "...= "串2" 若字符串1不等于字符串2,则为真,即表达式成立 整数二次元比较符 在[]以及test中使用比较符 在(())和[[]]中使用比较符 说明 -eq ==或者= 相等 -ne !...在[[]]和(())中使用操作符 说明 -a && and,,两端为真,则结果为真 -o 双竖线 or,或,两端一个为真,则结果为真 !

56820

shell脚本】$ 在shell脚本使用

shell脚本中 '$' 不同符号搭配其表示意义也会不同 特殊标志符 含义 $0 当前脚本文件名 $n 传递给脚本或函数参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数参数个数 $* 传递给脚本或函数所有参数 $@ 传递给脚本或函数所有参数 $?...上个命令退出状态 $$ 当前Shell进程ID $() `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本所有参数,不被双引号(" "...)包含时,都以"$1" "$2" … "$n" 形式输出所有参数。...但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 形式输出所有参数

6.1K20

linux 下shell脚本备份文件

以下是shell自动备份用: 主要功能: 1)将pathSrc目录中文件拷贝到pathDst目录中去。   具体步骤:先查询源目录和目标目录中文件,分别存在fileSrc和fileDst中。...1)crontab -l:列出所有自动运行脚本 2)crontab -e:将要执行脚本假如到自动运行中去 2、关于find命令: find pathname -options [-print -exec...-print find命令将匹配文件输出到标准输出。 -exec find命令对匹配文件执行该参数所给出shell命令。...-ok 和- exec作用相同,只不过以一种更为安全模式来执行该参数所给出shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行. 1....p - 管道文件。 l - 符号链接文件。 f - 普通文件。 6. 使用-size选项 ,按文件大小查找文件

6.2K20

LinuxUnix shell 脚本清除归档日志文件

因此,archive归档日志不停增长导致磁盘空间被大量耗用。对于这种情形,可以使用一个shell脚本来定时自动清除这些归档日志。本文给出了清除归档日志脚本。...1、清除归档日志shell脚本   robin@SZDB:~/dba_scripts/custom/bin> more remove_arch_dump.sh #!...    a、该脚本通过一个外部循环来读取oratab中定义数据库SID来寻找对应数据库归档日志路径以及datapump dump路径。    ...b、使用了一个for循环来清除归档日志,且保留最后2个归档日志文件。    ...c、接下来另一个for循环则用来清除当前SID下对应dump(Oracle datapump)目录下导出dump文件。     d、同清除归档日志一样,设定了保留dump目录最近5个文件

1.1K40
领券