Какой файл .sh?
Итак, я не имею опыта работы с множеством типов файлов, и мне не удалось найти много информации о том, что именно представляют файлы .sh
. Вот что я пытаюсь сделать:
Я пытаюсь загрузить наборы данных карт, которые расположены в виде плиток, которые можно загрузить отдельно: http://daymet.ornl.gov/gridded
Чтобы загрузить сразу несколько фрагментов, скажем, загрузить их script, что в итоге приводит к daymet-nc-retrieval.sh
: https://github.com/daymet/scripts/blob/master/Bash/daymet-nc-retrieval.sh
Итак, что именно я должен делать с этим кодом? Веб-сайт не дает дальнейших инструкций, предполагая, что пользователи знают, что с ним делать. Я предполагаю, что вы должны вставить код в какое-то другое невмешаемое приложение для браузера (в данном случае, используя Chrome или Firefox)? Он почти похож на что-то, что можно вставить в Firefox/Greasemonkey, но не совсем. Просто быстрым Google по типу файла я не смог получить на нем головы или хвосты.
Я уверен, что есть простое объяснение того, что делать с этими файлами, но похоже, что он похоронен в большом количестве сообщений, где люди уже предполагают, что вы знаете, что делать с этими файлами. Любой, кто хочет просто сказать, что нужно делать с квадрата после того, как он попал на страницу с кодом, чтобы его реализовать? Спасибо.
Ответы
Ответ 1
Если вы откроете вторую ссылку в браузере, вы увидите исходный код:
#!/bin/bash
# Script to download individual .nc files from the ORNL
# Daymet server at: http://daymet.ornl.gov
[...]
# For ranges use {start..end}
# for individul vaules, use: 1 2 3 4
for year in {2002..2003}
do
for tile in {1159..1160}
do wget --limit-rate=3m http://daymet.ornl.gov/thredds/fileServer/allcf/${year}/${tile}_${year}/vp.nc -O ${tile}_${year}_vp.nc
# An example using curl instead of wget
#do curl --limit-rate 3M -o ${tile}_${year}_vp.nc http://daymet.ornl.gov/thredds/fileServer/allcf/${year}/${tile}_${year}/vp.nc
done
done
Так что это скрипт bash. Есть Linux?
В любом случае, скрипт - это не что иное, как серия HTTP-поисков. И wget, и curl доступны для большинства операционных систем, и почти во всех языках есть библиотеки HTTP, поэтому переписать их в любой другой технологии довольно просто. Есть также некоторые порты Windows для самого bash (в git есть один). И последнее, но не менее важное: Windows 10 теперь имеет встроенную поддержку двоичных файлов Linux.
Ответ 2
Что такое файл с расширением .sh?
Это скрипт оболочки Bourne. Они используются во многих вариациях UNIX-подобных операционных систем. Они не имеют "языка" и интерпретируются вашей оболочкой (интерпретатором команд терминала) или, если первая строка имеет вид
#!/path/to/interpreter
они будут использовать этот конкретный переводчик. Ваш файл имеет первую строку:
#!/bin/bash
и это означает, что он использует Bourne Again Shell, так называемый bash. Это для практических целей замена старого доброго ш.
В зависимости от переводчика у вас будет другой язык, на котором написан файл.
Имейте в виду, что в мире UNIX это не расширение файла, которое определяет, что это за файл (см. Как выполнить скрипт оболочки).
Если вы пришли из мира DOS/Windows, вы будете знакомы с файлами с расширениями .bat или .cmd (пакетные файлы). Они не похожи по содержанию, но похожи по дизайну.
Как выполнить сценарий оболочки
В отличие от некоторых глупых операционных систем, * nix не полагается исключительно на расширения, чтобы определить, что делать с файлом. Разрешения также используются. Это означает, что если вы попытаетесь запустить скрипт оболочки после его загрузки, это будет то же самое, что и попытка "запустить" любой текстовый файл. Расширение ".sh" существует только для вашего удобства, чтобы распознать этот файл.
Вам нужно будет сделать файл исполняемым. Предположим, что вы скачали свой файл как file.sh
, затем можете запустить его в своем терминале:
chmod +x file.sh
chmod
- это команда для изменения прав доступа к файлу, +x
устанавливает права на выполнение (в данном случае для всех) и, наконец, у вас есть имя вашего файла.
Вы также можете сделать это в графическом интерфейсе. Большую часть времени вы можете щелкнуть правой кнопкой мыши по файлу и выбрать свойства, в XUbuntu параметры разрешений выглядят так:
![File permissions in XUbuntu]()
Если вы не хотите менять разрешения. Вы также можете заставить оболочку выполнить команду. В терминале вы можете запустить:
bash file.sh
Оболочка должна быть такой же, как в первой строке вашего скрипта.
Насколько это безопасно?
Может показаться странным, что для выполнения файла вам нужно выполнить еще одну задачу вручную. Но это частично из-за сильной потребности в безопасности.
В основном, когда вы загружаете и запускаете скрипт bash, это то же самое, что кто-то говорит вам: "Запустите все эти команды последовательно на вашем компьютере, я обещаю, что результаты будут хорошими и безопасными". Спросите себя, доверяете ли вы стороне, предоставившей этот файл, спросите себя, уверены ли вы, что скачали файл из того же места, что и думали, возможно, даже загляните внутрь, чтобы посмотреть, не выглядит ли что-то неуместным (хотя это требует что вы что-то знаете о * nix командах и программировании bash).
К сожалению, кроме вышеприведенного предупреждения, я не могу дать пошаговое описание того, что вы должны делать, чтобы не допустить того, чтобы с вашим компьютером происходили злые вещи; так что просто имейте в виду, что каждый раз, когда вы получаете и запускаете исполняемый файл от кого-то, кто на самом деле говорит: "Конечно, вы можете использовать мой компьютер, чтобы что-то сделать".
Ответ 3
sh
файлы являются файлами исполняемых файлов оболочки unix (linux), они являются эквивалентными (но гораздо более мощными) файлами bat
на окнах.
Итак, вам нужно запустить его с консоли linux, просто набрав его имя так же, как и файлы bat в окнах.
Ответ 4
Обычно файл .sh представляет собой оболочку script, которую вы можете выполнить в терминале. В частности, вы упомянули script bash script, который вы можете увидеть, если вы откроете файл и посмотрите в первой строке файла, который называется shebang или магической линией.
Ответ 5
Я знаю, что это старый вопрос, и я, вероятно, не помогу, но во многих дистрибутивах Linux (например, ubuntu) есть функция "Live cd/usb", поэтому, если вам действительно нужно запустить этот script, вы может попытаться загрузить ваш компьютер в Linux. Просто запишите .iso на флешку (здесь http://goo.gl/U1wLYA), запустите компьютер с подключенным диском и нажмите клавишу F для меню загрузки. Если вы выберете "... USB...", вы загрузитесь в ОС, который вы просто положили на диск.
Ответ 6
Файл .sh - это файл оболочки. Его можно использовать для открытия программ, а что нет.
Ответ 7
откройте местоположение в терминале, затем введите эти команды
1. chmod + x filename.sh
2../filename.sh
что он