Cygwin错误时,如果…然后… fi–Bash脚本

Cygwin错误时,如果…然后… fi–Bash脚本,第1张

概述Cygwin错误时,如果…然后… fi – Bash脚本

我刚开始bash shell编程。 我已经在我的windows 7电脑上安装了Cygwin。 我开始使用本教程编写脚本。 我的脚本需要一个parameter passing给它,如果它不应该显示一个错误消息。 这是直接来自教程的代码和我的代码中的代码:

[ $# -eq 0 ] && { echo "usage: someArgument"; exit 1; }

当我做到以下几点:

sh ./myscript.sh

它给了我这个错误:

-bash: /home/Me/myscript.sh: line 5: Syntax error: unexpected end of file

“意外的文件结束”意味着我错过了某个地方的某个地方或某个地方。

linuxvariables之间的区别$ BASH_SUBSHELL vs $ SHLVL

如何在linux / Unix上添加基于文件types的文件扩展名?

强制进程完全在swap中运行

Shell脚本循环在CygWin下耗尽内存

在BASH中截断输出

我仔细检查了我的代码,但什么都没发现。 另外,当我注释掉脚本时,脚本工作得很好。

我试着用if...then...fi :

if [ $# -eq 0 ] then echo "usage: someArgument" exit 1; fi

但无济于事!

请帮忙,这一直在困扰着我。

如何“注入”行到这里文档redirect?

如何在bash脚本中正确地将文件名传递给其他程序?

有没有办法告诉sed忽略符号链接?

用下划线replace空格,并使小写字母 – 文件名

如何在linux中打开一个程序的多个实例

脚本中可能有r或其他一些不可见的符号。 请在脚本的开始处添加set -x以切换调试并再次运行脚本。

抱歉,添麻烦了。 我对伊戈尔提到的不可见符号做了一些研究。 你必须在Cygwin中运行dos2unix ,它为我解决了这个问题。 DOS类型的文件有rn而不是n和其他一些使Cygwin困惑的东西。

这个:

$ dos2unix ./myscript.sh $ sh ./myscript.sh

工作正常。

作为替代,您可以使用bash参数扩展来测试未设置的变量。 没有位置参数, $1将被取消设置:

: ${1?"usage: someArgument"}

:命令是一个空 *** 作,用作扩展其参数的钩子,即$1 。 如果$1未设置, 将经历一些扩展并被打印到标准错误,之后非交互式外壳将退出。

(这不是解决DOS行结束问题的办法,而只是强制设置变量的另一种方法。)

总结

以上是内存溢出为你收集整理的Cygwin错误时,如果…然后… fi – Bash脚本全部内容,希望文章能够帮你解决Cygwin错误时,如果…然后… fi – Bash脚本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1282372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存