我正在使用SSH Tectia客户端。
我已经在shell脚本命令中创建了一个符号链接:ln -s $FND_TOP/bin/fndcpesr /app/gl/PROD/prod/per/12.0.0/bin/MOVEFILE
虽然这是创建一个符号链接。
I am getting a Error: FND-CP-ESP: Child: exec:: No such file or directory error
我知道这个错误可以通过dos2unix
解决。但是这个命令在SSH Tectia中不起作用。是否有其他命令可以将shell脚本转换为unix ?
如果您在Windows中编辑脚本并使用错误的传输类型(在这种情况下应该是ASCII)的FTP工具传输它,则可能发生此问题。如果你用的是Filezilla你可以点击传输>传输类型在传输
你是对的。这是在文件被转换为DOS文件格式时发生的。Unix只使用换行符(LF),而DOS同时使用回车符(CR)和换行符(LF)作为终止字符。
这个CR在Unix/Linux中变成了Ctrl M。因此,当您尝试执行shell脚本时,会得到这个错误:
避免这种情况的最好方法是将文件从Windows移到Unix系统。确保您使用FTP ASCII模式移动它。这可以确保文件根据操作系统自动转换。
据我所知你没有这个命令,所以你按照下面的方法来删除它。
在二进制模式下使用vi编辑器,使用下面的命令查找并替换该字符。
%s/^M//g
sed命令sed -e "s/^M//g" source_file > dest_file
使用Perl
$perl -pe 's/^M//g' source_file > dest_file
使用tr
tr -d 'r' < source_file > dest_file