我正在编写一个bash脚本,它应该执行一些需要特定类路径的Java应用程序.
此外,这个脚本应该可以在Ubuntu和Ubuntu上执行. Windows(Cygwin).
问题:Windows上的分隔符是“;” Ubuntu上的分隔符是“:”.这导致java -cp A.jar; B.jar Main在Windows上(当使用cygwin时,因为它使用Windows’java)和java -cp A.jar:B.jar Main在Ubuntu上.
问题:如何在bash脚本中检测哪个底层操作系统正在运行/使用哪个java classpath分隔符?
解决方法:
一种天真(但快速实现)的方法:首先运行uname -a并将其推送到变量中.然后检查该输出是否包含“Ubuntu”.
如果是这样,你应该使用“:”作为分隔符;除此以外 ”;”应该做.
如果你想在未来为其他平台做好准备;而不是做一个简单的if / else;你可能想检查一下uname -a对cygwin的评价;使用bash switch语句设置一些$SEParaTOR_CHAR变量.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。