Что такое a.sh файл?


поэтому у меня нет опыта работы с множеством типов файлов, и я не смог найти много информации о том, что именно .sh файлы. Вот что я пытаюсь сделать:

Я пытаюсь загрузить наборы данных карты, которые расположены в плитки, которые могут быть загружены по отдельности:http://daymet.ornl.gov/gridded

для того, чтобы скачать ряд плиток сразу, они говорят, чтобы загрузить свой скрипт, который в конечном итоге приводит к daymet-nc-retrieval.sh: https://github.com/daymet/scripts/blob/master/Bash/daymet-nc-retrieval.sh

Итак, что именно я должен делать с этим кодом? Сайт не предоставляет дальнейших инструкций, предполагая, что пользователи знают, что с ним делать. Я предполагаю, что вы должны вставить код в какое-то другое не упомянутое приложение для браузера (в данном случае с помощью Chrome или Firefox)? Это почти похоже на то, что можно вставить в Firefox/Greasemonkey, но не совсем. Просто быстрый Google на типе файла я не смог получить орел или решку на нем.

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

7   51   2012-12-10 20:45:26

7 ответов:

Если вы открываете вторую ссылку в браузере, вы увидите исходный код:

#!/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. Есть Линукс?


в любом случае, скрипт-это не что иное, как серия http-извлечений. Как wget, так и curl доступны для большинства операционных систем, и почти все языки имеют библиотеки HTTP, поэтому довольно тривиально переписывать в любой другой технологии. Есть также некоторые порты Windows самого bash (git включает в себя один). И последнее, но не менее важное: Windows 10 теперь имеет встроенная поддержка для Linux.

Что такое файл с расширением. sh?

это Bourne shell script. Они используются во многих вариациях UNIX-подобных операционных систем. Они не имеют "языка" и интерпретируются вашей оболочкой (интерпретатором команд терминала) или если первая строка находится в виде

#!/path/to/interpreter

они будут использовать данный переводчик. Ваш файл имеет первую строку:

#!/bin/bash

и это означает, что он снова использует Bourne Shell, так называемый Баш. Это для всех практических целей замена старой доброй рыбы.

в зависимости от интерпретатора у вас будет другой язык, на котором написан файл.

имейте в виду, что в мире UNIX не расширение файла определяет, что это за файл (см. Как выполнить сценарий оболочки).

если вы пришли из мира DOS/Windows, вы будете знакомы с файлами, которые есть .летучая мышь или. расширения cmd (пакетные файлы). Они не похожи по содержанию, но сродни по дизайну.

Как выполнить скрипт

в отличие от некоторых глупых операционных систем, *nix не полагаются исключительно на расширения, чтобы определить, что делать с файлом. Разрешения также используются. Это означает, что если вы попытаетесь запустить сценарий оболочки после его загрузки, это будет то же самое, что пытаться "запустить" любой текстовый файл. Расширение". sh " существует только для вашего удобства, чтобы признать это файл.

вам нужно будет сделать файл исполняемым. Предположим, что вы загрузили свой файл как file.sh, затем вы можете запустить в своем терминале:

chmod +x file.sh

chmod - это команда для изменения прав доступа к файлу,+x наборы разрешений (в данном случае для всех) и, наконец, у вас есть ваш файл.

вы также можете сделать это в GUI. Большую часть времени вы можете щелкнуть правой кнопкой мыши на файле и выбрать Свойства, в Xubuntu параметры разрешений выглядит так:

File permissions in XUbuntu

если вы не хотите изменить разрешения. Вы также можете заставить оболочку выполнить команду. В терминале вы можете запустить:

bash file.sh

оболочка должна быть такой же, как и в первой строке вашего скрипта.

насколько это безопасно?

вам может показаться странным, что вы должны выполнить другую задачу вручную, чтобы выполнить файл. Но это частично из-за сильного потребность в безопасности.

в основном, когда вы загружаете и запускаете скрипт bash, это то же самое, что кто-то говорит вам: "запустите все эти команды последовательно на вашем компьютере, я обещаю, что результаты будут хорошими". Спросите себя, доверяете ли вы стороне, которая предоставила этот файл, спросите себя, уверены ли вы, что загрузили файл с того же места, что и вы думали, может быть, даже заглянуть внутрь, чтобы увидеть, если что-то выглядит неуместно (хотя это требует, чтобы вы знали что-то о командах *nix и программировании bash).

к сожалению, кроме предупреждения выше, я не могу дать пошаговое описание того, что вы должны сделать, чтобы предотвратить злые вещи, происходящие с вашим компьютером; поэтому просто имейте в виду, что каждый раз, когда вы делаете файл из кого-то исполняемого файла, вы на самом деле говорите: "Я позволяю вам использовать мой компьютер для чего-то".

sh файлы являются исполняемыми файлами оболочки unix (linux), они эквивалентны (но гораздо более мощные) из bat файлы в windows.

поэтому вам нужно запустить его из консоли linux, просто набрав его имя так же, как вы делаете с файлами bat в windows.

обычно файл .sh представляет собой сценарий оболочки, который можно выполнить в терминале. В частности, сценарий, который вы упомянули, является сценарием bash, который вы можете увидеть, если откроете файл и посмотрите в первой строке файла, который называется shebang или magic line.

Я знаю, что это старый вопрос, и я, вероятно, не поможет, но многие дистрибутивы Linux(например, ubuntu) имеют функцию "Live cd/usb", поэтому, если вам действительно нужно запустить этот скрипт, вы можете попробовать загрузить свой компьютер в Linux. Просто сожгите .iso на флешку (вот как http://goo.gl/U1wLYA), запустите компьютер с подключенным диском и нажмите клавишу F для меню загрузки. Если вы выберете "...USB...", вы загрузитесь в ОС, которую вы только что поставили на диск.

файл .sh-это файл оболочки. Он может быть использован для открытия программ, а что нет.

откройте расположение в терминале, затем введите эти команды 1. chmod +x filename.sh 2. ./filename.sh вот и все