单纯看上面两个变量定义,并没有什么问题,但是如果系统环境变量bash_profile定义了PATH路径,shell脚本中的定义就会和系统中定义冲突,执行脚本也会报这个错误提示。深层分析,其实这个报错和date本身并没有多大关系,只是因为定义中用了date,才会有报错,本质原因是变量定义冲突;因此,工作中应养成良好的代码习惯,不要定义可能...
通过文心一言的提问,发现问题很简单,因为ll为一个ls -l的别名,而系统中如果没有定义ll命令,当你尝试ll命令的时候,就会报错ll: command not found。 方法一、我按照网上的做法去path =./etc/bashrc中增加了配置alias ll='ls -l'重启后依然无效,这种做法可能对我这个问题暂时无效或者我处理的有问题,如果读者有...
最近学习shell脚本时,不间断的会碰到一个问题:执行脚本时会报一个错,定义的变量+command not found 脚本内容: 其实主要原因是"="前后的空格去掉就行了,可能我们在其他变成语言中形成了一个习惯,等号两边总要留个空格使代码美化)。 改成: DATE=$(date +%F' '%H:%M) MAIL="exampel@mail.com"...
一、故障现象 [root@sjjc ~]# sh startup.sh startup.sh: line 69: ps:commandnot found startup.sh: line 69: grep:commandnot found startup.sh: line 69: grep:commandnot found startup.sh: line 69: awk:commandnot found [root@sjjc ~]#cat startup.sh #!/bin/bash #author:wh #date:2...
1、首先,需要打开计算机的桌面,右键单击并选择“打开终端”这一项,如下图所示。2、其次,完成上述步骤后,将进入如图所示的页面,在命令行上输入“gedit / etc / profile”,然后按Enter键,如下图所示。3、接着,完成上述步骤后,会弹出一个对话框,需要在以下行中添加“PATH = $ PATH:/ ...
在编写java代码时会考虑到格式化,往往变量定义时会有一些空格或者换行符等,因此在写shell脚本时也就顺手这么写了,在运行时就会报错:"command not found",将空格删除才正常运行。 源码如下: #!/bin/bash # file:testStr.sh # author:13 # date:2017-07-21 STR1="abc" echo $STR1 STR2 = "abc" echo ...
: command not found: line23: : command not found: line26: 一看上面的这几行,出错的可都是空行啊、怎么空行也报错? 于是千搜万搜,总算搜出结果来了,是由于一下原因引起的: 在cygwin下编写shell script是,script在执行的时候,其中包含的空行会提示 /r. command not found错误信息。这是win dos与*nix文...
你的日期应该这样写 year_now=`date '+%Y'`md_now=`date '+%m%d'`就可以了
date # 重现报错 $ sh windows.sh windows.sh:行2:$'date\r':未找到命令 # 查看文件格式信息 $ file windows.sh windows.sh:a/usr/bin/env bash\015script,ASCIItext executable,withCRLFline terminators # 转换为 Unix 换行 $ vim windows.sh:setff=unix:wq ...