当我从Linux(RH Linux 6.2)执行脚本时,它没有找到[没有这样的文件或目录]错误,即使该文件存在于该目录中(检查权限并且它们没问题).
例:
md1silinux04:/data/upgrade> /data/upgrade/upgrade_db.ksh
-ksh: /data/upgrade/upgrade_db.ksh: not found [No such file or directory]
md1silinux04:/data/RAIL/rpo402/db/upgrade> ls /data/upgrade/upgrade_db.ksh
/data/upgrade/upgrade_db.ksh
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
小智 5
也许您在文件中每行的末尾都有ctrl-M(回车符).
要查看:cat -v /data/upgrade/upgrade_db.ksh
修复:perl -p -i -e"s /\r // g"/data/upgrade/upgrade_db.ksh
输入这个:
ls -ls /data/RAIL/rpo402/db/upgrade
Run Code Online (Sandbox Code Playgroud)
列出文件的输出并查看其权限。
确保文件不为空。确保该文件具有作为 shell 执行的权限。
chmod +x upgrade_db.ksh
Run Code Online (Sandbox Code Playgroud)
查看文件的第一行,确保它具有适用于 shell 脚本的正确标头。也许 Korn Shell 需要标头中的 shell 声明。
检查 dmesg 以查看是否有任何错误消息,可能是文件系统并检查 inode。