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

crontab 踩坑之绝对路径

由于放假后网络原因不方便使用电脑,需要创建一个 crontab 定时任务,用来在每天固定时间执行一个 Shell 脚本 过程 添加计划任务 crontab -e * 10,19 * * * sh /root...在终端直接 sh 执行时没有任何问题,正常结束,而一旦在 crontab 中定时执行时,就出现问题,如提示 file not found 或者没有任何输出等错误。...crontab 执行时的当前目录,如 curPath=$(pwd) ,执行后发现,打印出的结果为 $HOME 的目录,而非脚本所在的原始目录,这就造成了在脚本中使用相对路径时出现找不到的情况。...找到问题后,解决方法有两个: 将相对路径替换为绝对路径。...(ps:如脚本中包含某些Shell命令,且命令的某些参数为默认当前目录的,都需要显式的给出绝对路径) 在操作相对路径之前,使用 cd /....../ ,在执行脚本时强制进入到该目录。

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

    大数据学习之_02_Shell学习

    /bin/bash echo "helloworld" (3)脚本的常用执行方式 第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限) sh+脚本的相对路径 [jack@hadoop... datas]$ bash /home/jack/datas/helloworld.sh  hello world 第二种:采用输入脚本的相对路径或绝对路径执行脚本(脚本必须具有可执行权限+x) (a)...(3)将sed.txt文件中wo替换为ni [jack@hadoop datas]$ sed "s/wo/ni/g" sed.txt  dong shen guan zhen ni  ni lai  ...(4)将sed.txt文件中的第二行删除并将wo替换为ni [jack@hadoop datas]$ sed -e "2d" -e "s/wo/ni/g" sed.txt  dong shen ni  ...ni lai  lai le  le 10.3 awk 一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。

    1.5K20

    《鸟哥的linux私房菜》基本命令笔记

    4.只要开头不是/ 就是相对路径的写法,相对路径是以“当前路径的相对位置”来表示的  ./表示当前路径 ../表示上一层路径 建议在写shell 时使用绝对路径,因为绝对不会出错。...more,less可以使用 /字符串 进行查找 split -l $line -d $file seq_    将文件 $file 分割成 以 seq_ 为前缀的文件,-d 表示以数字为后缀,如 seq...14.命令的执行 执行命令无外乎两种形式,一种以绝对路径给出命令,如....在正则表达式中没有特殊的含义,故在vim 中当做字符查询时无需使用转义字符\ 进行转义, $ 需要转义。 grep ‘^#'  t1.txt  // 查找行首以 # 开始的一行 grep '!...数据同步、自动登录 rsync/scp/ftp( Add /usr/sbin/nologin in the /etc/shells/)、expect 脚本 23. crontab 需要注意的一些问题 脚本中涉及文件路径时全部写绝对路径

    2.4K60

    【Linux】Shell 编程规范及检查工具推荐

    编程规范 建议在 Shell 脚本创建时,以 .sh 作为文件名结尾,方便识别文件类型 建议赋予 Shell 脚本适当的执行权限,允许以 ....,并以此为基准查找其他路径 建议在 Shell 脚本的内容中勤用 # 标明注释,充分解释脚本语句或逻辑区块的用途、注意事项等,方便自己和他人阅读,提升理解效率 建议对传入 Shell 脚本的参数进行检查.../dev/null 过滤不友好的输出信息,避免因无用信息过多而漏掉重要信息 建议在 Shell 脚本中使用绝对路径,避免使用相对路径,否则需要注意目录的切换 建议在 Shell 脚本中通过命令语句的返回值...写成单行形式,替代简单的 if 语句,如用 [[ x > 2 ]] && echo x 替代 if x >2 ;then echo x,以提升执行效率和阅读体验 建议在 Shell 脚本中使用 function...脚本中使用 Shell 变量替换语句,代替 awk、sed 语句处理字符串 建议在 Shell 脚本中复制文件夹时使用 cp -r 命令,如果目标文件夹不存在则创建,如果存在则复制为子文件夹 建议在

    24910

    练习题二下

    readahead-disable-services.conf 1.3.5 压缩时的提示 Removing leading `/' from member names 把压缩包中的文件最前面的斜线删除 压缩包里的内容 绝对路径...>>>相对路径 原因: 解压的时候会按照压缩包内的路径进行解压,从根目录打包会覆盖其他文件 系统解决办法: 出于安全的考虑,把绝对路径前面的'/'去掉,变成相对路径 1.3.6 相对路径压缩 先进入根目录再进行压缩...1.4.1 方法一 sed+sed 先用sed命令将前面的部分替换为空,经过管道,sed在将后面的部分替换为空。...sed将逗号换为空格,awk以空格为分隔符,print输出列的内容,$3表示第三列,$NF 表示最后一列 [root@znix oldboy]# sed 's#,# #g' oldboy.txt |awk...+cut 先用sed将逗号替换为空格,然后再用cut 切割。

    84700

    文件和文件异常

    相对路径行不通时,可使用绝对路径。 绝对路径: 绝对路径通常比相对路径更长,因此将其存储在一个变量中,再将该变量传递给open()会有所帮助。 ? ? ? 输出: ?...可将'pi_digits.txt'替换为要使用的另一个文件的名称。调用open()后,将一个表示文件及其内容的对象存储到了变量file_object中。...5.使用文件中的内容 将文件读取到内存后,可以以任何方式使用这些数据了。 首先打开文件,并将其中的所有行都存储在一个列表中。创建一个变量pi_string,用于存储圆周率的值。...以写入('w')模式打开文件时要小心,如果指定的文件已经存在,Python在返回文件对象前清空该文件。 使用文件对象的方法write()将一个字符串写入文件。...模块json将简单的Python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据。可以使用json在Python程序之间分享数据。

    5.3K20

    关于“Python”的核心知识点整理大全23

    在相对路径行不通时,可使用绝对路径。...为明确地指出你希望 Python到哪里去查找,你需要提供完整的路径。 绝对路径通常比相对路径更长,因此将其存储在一个变量中,再将该变量传递给open()会有 所帮助。...由于变量filename表示的并非实际文件——它只是一个让Python知道到哪里去查找文件的字 符串,因此可轻松地将'pi_digits.txt'替换为你要使用的另一个文件的名称。...10.1.5 使用文件的内容 将文件读取到内存中后,就可以以任何方式使用这些数据了。下面以简单的方式使用圆周率 的值。...如果你读取的是数字,并 要将其作为数值使用,就必须使用函数int()将其转换为整数,或使用函数float()将其转 换为浮点数

    12810

    10分钟让你掌握Linux常用命令(+1万+++收藏)

    /bbb 在当前目录下创建bbb目录,相对路径; mkdir /ccc 在根目录下创建ccc目录,绝对路径; 递归创建目录(会创建里面没有的目录文件夹) mkdir -p temp/nginx 搜索命令...表示从当前目录开始递归查找 “ -name '*.exe' "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件 " -type f "查找的类型为文件 "-print" 输出查找的文件目录名 -...替换解析 sed -i 's/^Str/String/' replace.java 2. 将末尾的.替换为;(转义.) sed -i 's/\.$/\;/' 3....全文将Jack替换为me(g是全部替换,不加只替换首个) sed -i 's/Jack/me/g/ replace.java 4....它擅长将标准输入数据转换成命令行参数,xargs 能够处理管道或者 stdin 并将其转换成特定命令的命令参数。xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。

    3K10

    Ubuntu 定时执行脚本

    一、关于crontab cron是一个Linux定时执行工具,可以在无需人工干预的情况下运行作业。在Ubuntu中,cron是被默认安装并启动的。 二、例子 直接上例子,来看看怎么用。...wget $weatherDateRoot -O $weatherDataFile > /dev/null 2>&1 #下载页面 result=$(cat $weatherDataFile | sed.../00-header 01 08 * * * root /bin/tianqi.sh 什么意思呢,第一条执行的是将备份的00-header_bk文件覆盖00-header文件,因为每次执行完...a、你可以在hello.py中使用绝对路径添加环境变量: import sys sys.path.insert(0, '/root/bbb/') 添加完环境变量,在hello.py中就可以直接引入world.py...b、使用相对路径添加环境变量: 下面重点来了:当使用相对路径时,引入的包的相对位置是相对于运行目录而言,而不是文件本身的相对位置!

    2.3K10

    idea mac 常用快捷键

    目录 #IDEA MacOS 全局查找快捷键 #当前文件查找 #当前文件替换 # 全局类名称搜索 #复制方法的相对路径 #方法在磁盘上的绝对路径 #移动代码行 #自动补全行尾结束符号 #代码美化 # 删除整行...#最小化当前窗口 mac 使用技巧 #移动光标到行首 或 行尾 #网页出现不安全的链接提示 #终端光标快捷键 #IDEA MacOS 全局查找快捷键 shift + Command + F #当前文件查找...+ option + command + c #方法在磁盘上的绝对路径 shift + command + c #移动代码行 方式一:shift + command + ⬆️ 或者 ⬇️ 方式二:shift...+ option + ⬆️ 或者 ⬇️ #自动补全行尾结束符号 #光标在代码中间,将光标移动到行尾并且自动添加行尾结束符号; shift + command + return (这里不会进行换行操作,...eclipse 上面会进行换行操作) #代码美化 option + command + L # 删除整行 commond + delete #单行注释 commond + / #多行注释 control

    79410

    初学乍练redis:两行shell脚本实现slowlog持久化转储(去重保留历史条目、时间戳格式化)

    为了解决历史慢日志跟踪问题,需要将redis slowlog定期转储到其它存储介质,如磁盘文件或MySQL数据库等。本文介绍使用shell脚本将slowlog转储到普通文本文件的设计实现。...将含有“1) (integer)”的行的第一列置空,并去掉前置空格。目的是去掉条目编号列。 将含有“1) (integer)”的行的第三列替换为指定的日期时间格式,并去掉前置空格。...将含有“3) (integer)”的行去掉前置空格。目的是左对齐显示。 将含有“4) +1)”的行中的“4)”替换为两个空格。“ +”表示4)和1)之间有多个空格。...将经过前面处理后行以追加方式重定向到一个临时文件中。...用“^  ”去掉原来以“1) (integer)”开头的单行,输出其它行。 将最终结果存入结果文件。 3. 最终脚本文件         将处理步骤封装成shell函数,便于多实例调用。

    1.1K20

    史上最全的 Linux Shell 文本处理工具集锦,快收藏!

    、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用的; 对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间的定界符 将单行转化为多行输出 cat single.txt | xargs -n 3 -n:...-c 以字符为单位 -f 以字段为单位(使用定界符) eg: cut -c1-5 file //打印第一到5个字符cut -c-2 file //打印前2个字符 07 paste 按列拼接文本 将两个文本按列拼接到一起...'s/hello([0-9])//' 双引号求值 sed通常用单引号来引用;也可使用双引号,使用双引号后,双引号会对表达式求值: sed 's/$var/HLLOE/' 当使用双引号时,我们可以在sed...字符串插入字符:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.{3}/&//g' file 10 awk 数据流处理工具 awk脚本结构 awk ' BEGIN{ statements

    4K50

    Linux Shell 文本处理工具集锦

    我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧; find 文件查找 查找txt和pdf文件 find . \( -name "*.txt...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs \n 是多行文本间的定界符 将单行转化为多行输出 cat single.txt | xargs -n 3...-c 以字符为单位 -f 以字段为单位(使用定界符) eg: cut -c1-5 file //打印第一到5个字符 cut -c-2 file //打印前2个字符 paste 按列拼接文本 将两个文本按列拼接到一起...'s/hello\([0-9]\)/\1/' 双引号求值 sed通常用单引号来引用;也可使用双引号,使用双引号后,双引号会对表达式求值: sed 's/$var/HLLOE/' 当使用双引号时,我们可以在...其它示例 字符串插入字符:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.\{3\}/&\//g' file awk 数据流处理工具 awk脚本结构 awk ' BEGIN

    3.3K70

    搞定Linux Shell文本处理工具,看完这篇集锦就够了

    ; 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧; 1、find 文件查找 查找txt和pdf文件 find . \( -name...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs \n 是多行文本间的定界符 将单行转化为多行输出 cat single.txt | xargs -n 3...我们可以在sed样式和替换字符串中指定变量; eg:p=patten r=replaced echo "line con a patten" | sed "s/$p/$r/g"$>line con a...replaced 其它示例 字符串插入字符:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.\{3\}/&\//g' file 11、awk 数据流处理工具 awk脚本结构...string):将正则匹配到的第一处内容替换为replacement_str; match(regex,string):检查正则表达式是否能够匹配字符串; length(string):返回字符串长度

    6.4K41

    Linux文本处理工具,看这篇就够了。

    、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用的; 对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间的定界符 将单行转化为多行输出 cat single.txt | xargs -n 3 -n:...-c 以字符为单位 -f 以字段为单位(使用定界符) eg: cut -c1-5 file //打印第一到5个字符cut -c-2 file //打印前2个字符 07 paste 按列拼接文本 将两个文本按列拼接到一起...'s/hello([0-9])//' 双引号求值 sed通常用单引号来引用;也可使用双引号,使用双引号后,双引号会对表达式求值: sed 's/$var/HLLOE/' 当使用双引号时,我们可以在sed...字符串插入字符:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.{3}/&//g' file 10 awk 数据流处理工具 awk脚本结构 awk ' BEGIN{ statements

    4.5K10

    搞定 Linux Shell 文本处理工具的操作命令

    ;对shell脚本使用的原则是命令单行书写,尽量不要超过2行;如果有更为复杂的任务需求,还是考虑python吧. 1、find 文件查找 查找txt和pdf文件 find . ( -name "*.txt...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间的定界符 将单行转化为多行输出 cat single.txt | xargs -n 3 #-n...-c 以字符为单位 -f 以字段为单位(使用定界符) cut -c1-5 file //打印第一到5个字符 cut -c-2 file  //打印前2个字符 7、paste 按列拼接文本 将两个文本按列拼接到一起... 's/hello([0-9])//' 双引号求值 sed通常用单引号来引用;也可使用双引号,使用双引号后,双引号会对表达式求值: sed 's/$var/HLLOE/'当使用双引号时,我们可以在sed...:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.{3}/&//g' file 10、awk 数据流处理工具 awk脚本结构 awk ' BEGIN{ statements

    2.5K20

    搞定 Linux Shell 文本处理工具

    对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧. 1、find 文件查找 查找txt和pdf文件 find . ( -name "*....比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs 是多行文本间的定界符 将单行转化为多行输出 cat single.txt | xargs -n 3#-...-c 以字符为单位 -f 以字段为单位(使用定界符) cut -c1-5 file //打印第一到5个字符 cut -c-2 file //打印前2个字符 7、paste 按列拼接文本 将两个文本按列拼接到一起...'s/hello([0-9])//' 双引号求值 sed通常用单引号来引用;也可使用双引号,使用双引号后,双引号会对表达式求值: sed 's/$var/HLLOE/' 当使用双引号时,我们可以在sed...:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.{3}/&//g' file 10、awk 数据流处理工具 awk脚本结构 awk ' BEGIN{ statements

    1.7K10
    领券