Даже различные версии Linux не совместимы друг с другом. Например, вы можете установить на него программу, например, с помощью apt-get, и один дистрибутив linux получает программу из одного депозитария, другой, как и должно быть, получает из другого депозитария, но в программах могут быть различия. Программа, подобная ssh, может хранить конфигурационные файлы в /etc /ssh или может хранить их только в /etc, которые вы должны узнать в вашей системе Linux, где она находится.
И даже одна версия Linux, в зависимости от того, как она настроена, скрипт может быть несовместим с обоими. Например, в Debian(и, несомненно, не только в Debian) команда mail выполняет одну почтовую программу, но может быть настроена для запуска другой. Разные почтовые программы имеют разные параметры.
И тогда возникает вопрос, какие программы вы установили. Если скрипт обращается к программе, которая не установлена, он не будет работать. Это относится к cygwin или linux. И это может быть просто крошечная программа.
А в linux есть разные оболочки. А также оболочка может быть настроена необычным образом, например, включает *
.
и ..
или нет. Linux открывает вам море сложности, о котором вы даже не подозревали.
Что касается вашего вопроса о том, хорошо ли использовать .bat или .sh. Если вы работаете в обычном cmd.exe без Cygwin, то сценарий будет .bat (хотя есть и другие сценарии или программы, хотя они могут запускаться в качестве параметра для другой программы, выступающей в роли интерпретатора). Если вы работали в Cygwin, расширение ничего не изменит.
Вы должны немного подумать о том, сколько вы хотите и можете узнать о скрипте, прежде чем его использовать. Если это один лайнер с сайта, то разумно знать хоть что-то о том, как он работает. Не делайте вещи полностью слепыми. Если это огромный скрипт, который является частью сложной программы, которую вы скачали, то вы можете посмотреть на скрипт, прежде чем запускать его, но, возможно, вы в порядке, не понимая все или многое в нем. Linux может отвлекать вас от сложности, но я бы не советовал избегать сложности. На вопрос, совместим ли «a» с «b», является такой общий вопрос, вы можете получить более полезный ответ, если, столкнувшись с конкретным случаем, убедитесь, что вы делаете это правильно для своего дистрибутива или Cygwin. , В файле readme или на сайте, откуда вы его получаете, или в установочном файле должно быть написано. Каждая вещь может иметь свой собственный способ делать вещи.