我正在使用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中不起作用。是否还有其他cmmand将shell脚本转换为unix?
答案 0 :(得分:0)
您可以下载该工具并手动使用(无需安装)。去: http://waterlan.home.xs4all.nl/dos2unix.html#DOS2UNIX 并下载二进制文件,甚至更好的源代码(编译和运行)。
答案 1 :(得分:0)
如果您在Windows中编辑脚本并使用某些FTP工具以错误的传输类型(在这种情况下应为ASCII)传输它,则可能会发生此问题。如果您使用的是Filezilla,则可以转到“传输”>“传输类型”并在传输前选择ASCII
答案 2 :(得分:0)
你是对的。这是由于文件被转换为DOS文件格式而发生的。 Unix仅使用换行(LF),而DOS使用回车(CR)和换行(LF)作为终止字符。
此CR在Unix / Linux中变为CtrlM。因此,当您尝试执行shell脚本时,会出现此错误。
避免这种情况的最佳方法是将文件从Windows移至Unix系统。确保使用FTP ASCII模式移动它。这样可以确保根据操作系统自动转换文件。
据我了解您没有此命令,因此请按照以下方法删除此命令。
在二进制模式下使用vi编辑器,并使用以下命令查找并替换此字符。
%s / ^ M // g
sed命令
sed -e“ s / ^ M // g”源文件>目标文件
使用Perl
$ perl -pe's / ^ M // g'源文件>目标文件
使用tr
tr -d'\ r'<源文件> dest_file
我建议您参考下面的文章
How to find and remove ^M character from Unix/Linux text file