Подтвердить что ты не робот

Какой файл .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 по типу файла я не смог получить на нем головы или хвосты.

Я уверен, что есть простое объяснение того, что делать с этими файлами, но похоже, что он похоронен в большом количестве сообщений, где люди уже предполагают, что вы знаете, что делать с этими файлами. Любой, кто хочет просто сказать, что нужно делать с квадрата после того, как он попал на страницу с кодом, чтобы его реализовать? Спасибо.

4b9b3361

Ответ 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 что он