shell 定义绝对路径,出错 sed: 未找到命令,脚本功能:替换某一行内容

简介: shell 定义绝对路径,出错 sed: 未找到命令,脚本功能:替换某一行内容

脚本功能主要是切换到给定的绝对路径,利用sed替换绝对路径下一个文本的内容


由于切换路径的时候没有切换过去,导致sed命令报错,报错截图如下:


1.png


错误脚本内容如下:

#!/bin/bash
PATH=/home/wynne/change_name
cd $PATH
sed -i "s/third:3333/third:4444/g" original

第二行和第三行的定义PATH,以及cd切换目录,没有执行成功,所以导致第四行的sed命令报错:未找到命令


未切换成功路径原因:PATH是linux系统已经定义好的一个环境变量


在命令行下看一下$PATH的内容:


1.png


所以我们在shell脚本里定义时,不能用PATH这个名字,我们换成PATH1


正确脚本内容如下:

#!/bin/bash
PATH1=/home/wynne/change_name
cd $PATH1
sed -i "s/third:3333/third:4444/g" original

回车执行成功结果:(执行成功没有显示)


1.png


执行完后,替换的文本结果:(可以看到,原本是3333的地方,换成了4444,是由于sed的用法)


1.png


原【original中内容】:


1.png


sed用法:


sed -i “s/原内容/替换后内容/g”


参数:


-i是在原文件中修改内容,测试过程中可以不加-i;


g是强制替换所有匹配内容,如果没有g,默认替换匹配到的第一个内容。


相关文章
|
3天前
|
Shell
蓝易云 - 简单shell脚本的编写教程
以上就是编写一个基本Shell脚本的步骤。当然,Shell脚本可以做的远不止这些,你可以使用变量,控制结构(如if语句和循环),以及各种Shell命令和功能来编写更复杂的脚本。
11 1
|
12天前
|
存储 Shell 数据安全/隐私保护
Shell 内建命令:Shell 的内在魔力
Shell 内建命令比外部命令执行快,不需额外进程。`type` 命令用来检查命令类型。内建命令如 `cd`、`alias` 和 `echo` 直接在 Shell 中执行,不涉及磁盘 I/O。`type` 示例展示了 `cd` 是内建的,`ifconfig` 是外部的。`bash` 包含多种内建命令,如 `cd` 用于切换目录,`alias` 定义别名,`read` 从输入读取数据。`echo` 默认加换行,`echo -n` 可避免。
20 5
|
11天前
|
Shell 虚拟化
分布式系统详解--框架(Zookeeper-基本shell命令)
分布式系统详解--框架(Zookeeper-基本shell命令)
13 1
|
14天前
|
安全 Shell Linux
探索Linux命令chsh:更改用户的默认shell
`chsh`是Linux命令,用于更改用户的默认登录shell。它涉及用户环境配置和系统安全,允许用户选择更适合自己的shell以提升效率。命令有交互式选项和参数如`-s`来指定新shell。在使用时要注意新shell的可执行性、权限问题及选择合适的shell。例如,要更改为bash,用户可运行`chsh`后按提示操作,而root用户能用`sudo chsh -s /bin/zsh john`为用户`john`设定zsh。在更改前,确认shell路径、权限,并了解不同shell的特点。
|
15天前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
4天前
|
Shell 调度
Shell脚本中的if条件判断语句
Shell脚本中的if条件判断语句
|
4天前
|
Shell
蓝易云 - 简单shell脚本的编写教程
以上就是编写一个基本Shell脚本的步骤。当然,Shell脚本可以做的远不止这些,你可以使用变量,控制结构(如if语句和循环),以及各种Shell命令和功能来编写更复杂的脚本。
5 0
|
5天前
|
机器学习/深度学习 Unix Java
技术笔记:Linux之Shell脚本编程(一)
技术笔记:Linux之Shell脚本编程(一)
|
8天前
|
Shell
Shell脚本之条件语句if总结
Shell脚本之条件语句if总结
|
11天前
|
分布式计算 Hadoop Shell
分布式系统详解--框架(Hadoop-基本shell命令)
分布式系统详解--框架(Hadoop-基本shell命令)
11 0