我正在OSX Yosemite和Mavericks上运行bash脚本。 当我运行脚本时,最后一行似乎在某种程度上被切断了。最后一个命令加载守护进程 - 这是它在脚本中的显示方式:
sudo -u <USERNAME> launchctl load -w -F /Library/LaunchAgents/ExecuteScriptProcess.plist
似乎在我运行此脚本的10次左右之后,最后一个命令将无效。这是我在终端收到的输出:
: No such file or directoryocess.plist
注意文件名ocess.plist
的一部分基本上是连接到输出的末尾,命令的名称没有出现在冒号之前。
此行为似乎随机出现。有没有人遇到过这个?
答案 0 :(得分:0)
这是由于脚本或数据中的回车。 bash tag wiki有更多信息:
检查您的脚本或数据是否具有DOS样式的行尾字符
使用cat -v yourfile
或echo "$yourvariable" | cat -v
。
DOS回车将在每行后显示为^M
。
如果找到它们,请使用dos2unix
(a.k.a。fromdos
)或tr -d '\r'