Обсуждение:Bash

Последнее сообщение: 3 года назад от D6194c-1cc в теме «$$ vs $BASHPID»
Пожалуйста, добавляйте новые темы снизу


Замена в статье «#!/bin/bash» на «#!/usr/bin/env bash» править

Предлагаю в примерах статьи заменить все #!/bin/bash на #!/usr/bin/env bash, дабы приучать новичков писать правильно (см. Shebang_(Unix)#Portability) --LeNiN 03:38, 28 марта 2012 (UTC)Ответить

И какая в этом практическая польза? Увидели питон и решили прифантазировать?
89.235.223.182 12:35, 26 марта 2014 (UTC)Ответить

Переименовать в «GNU Bash»? править

Согласно домашней странице проекта, данный интерпретатор называется именно GNU Bash. Предлагаю переименовать статью (добавив нужные перенаправления.)

Ivan Shmakov 16:35, 10 августа 2012 (UTC)Ответить

«Горячие клавиши» править

Раздел Горячие клавиши содержит перечень клавиатурных комбинаций, общий для едва ли не всех команднострочных интерфейсов на основе GNU Readline. На мой взгляд, его следует перенести в статью по последнему, заменив на описание «основных приемов» работы с клавиатурой в Shell.

PS. В каких случаях применяется Шаблон:перенести, BTW?

Ivan Shmakov 11:01, 17 августа 2012 (UTC)Ответить

  • его следует перенести - ВП:Правьте смело! В каких случаях - если есть две пары статей, которые являются очевидными кандидатами на слияние, а вам самим некогда или вы не уверены, что сможете это сделать правильно, ставите пару шаблонов {{mergefrom}} и {{mergeto}}. На ВП:КОБ об этом написано. -- AVBtalk 11:09, 17 августа 2012 (UTC)Ответить

сравнение синтаксиса регулярных выражений Bash с Perl править

>Bash 3.0 поддерживает встроенные регулярные выражения, с синтаксисом подобным синтаксису Perl:

я потерял минимум полчаса времени из-за этой строчки

в Perl и Bash синтаксис регулярных выражений отличается. И отличается значительно. думаю, необходимо как минимум убрать " с синтаксисом подобным синтаксису Perl:" и хорошо бы добавить описание синтаксиса.

178.137.182.97 18:07, 3 февраля 2013 (UTC)Ответить

Исполняемый vs. исполнимый править

На мой взгляд, при описании режима доступа (к файлу, к области памяти, etc.) более верно использовать термин «исполнимый» (IOW, «тот, который может быть исполнен.») С другой стороны, если речь идет о процессе, то верным действительно будет термин «исполняемый» («тот, который исполняется.») Различие небольшое, «на пределе языковой чуствительности,» однако оно все же присутствует. Мнения? — Ivan Shmakov (talk) 08:48, 28 августа 2013 (UTC)Ответить

По смыслу слов хорошо бы их различать, но их слишком долго путали, чтобы решить эту проблему здесь. И в первую очередь нужно опираться на документацию во избежание расхождений с другими пользователями bash, а в ней, как обычно, некоторым словам дан совершенно новый смысл. Про «исполнимый» не уверен, что могу правильно это перевести с языка оригинала (в документации фантасмагория, почти новый литературный жанр). --2A01:D0:9085:0:74A7:D659:83EF:2EF1 01:41, 6 июля 2016 (UTC)Ответить

Энциклопедичность? править

… А не пытается ли эта статья стать учебником (вариант: кратким справочником) по Bash? (Во всяком случае, раздел «Скрипты» ссылками на авторитетные источники определенно не богат.) Не стоит ли в связи с этим перенести существенную часть ее, например, в Викиучебник? В статью добавить ссылку на новое расположение материала. — Ivan Shmakov (talk) 16:31, 29 августа 2013 (UTC)Ответить

  • Есть пара табличек, которые, возможно, излишни в статье, но в целом проблемы с энциклопедичностью я не вижу. На мой взгля, статья только проиграет, если вместо коротких наглядных скриптов в ней будут сухие тексты, описывающие тоже самое. Тем более, что объем сейчас проблем не вызывает, для учебника маловато и фрагментарно (выбраны наиболее типичные вещи). Что касается источников, то тут требуется лишь работа: взять книжку (а то и не одну) по bash и проставить страницы. Материал проверяем — можно запустить и убедиться. Так что с этим тоже не вижу проблем. Можно подумать и с другой стороны. Если эту статью доводить до хорошей или избранной, то что нужно сделать? Источники, больше текста и т.п., но удаление примеров статье явно повредит. РоманСузи 03:42, 30 августа 2013 (UTC)Ответить
Против табличек особенно не возражаю. Но я не наблюдаю энциклопедичности в коротких наглядных скриптах. Некоторые из которых, кроме того, не используют никаких специфичных для Bash возможностей. (И могут быть, по-видимому, без ущерба перенесены в статью Bourne shell, или же отделены в новую POSIX shell — на которую можно затем будет сослаться из статей Bash, Dash, BusyBox, etc.)
Если это возможно, я бы хотел видеть в данной статье обзор (вариант: список) характерных, ярких особенностей и отличий Bash. Отнюдь не «общевойсковых» #!, chmod +x, файловых дескрипторов, циклов и массивов. (Другими словами — всего того, что присутствует едва ли не в каждом языке программирования, особенно в среде Unix-подобных систем.
Отдельный вопрос — можно ли считать книжку по Bash авторитетным источником. На мой взгляд, — не всегда, да и только на них полагаться едва ли допустимо.
Ivan Shmakov (talk) 05:56, 30 августа 2013 (UTC)Ответить
  • Не думаю, что некая «нормализация» сведений об оболочках в данном случае поможет читателю. Полагаю, что короткие, свойственные всем bourne shell-подобным оболочкам скрипты могут быть в каждой статье, так как они подтверждены наверняка авторитетными источниками, и солидные книги таковыми являются. Другое дело, что может быть добавлен раздел по особенностям именно bash. РоманСузи 04:18, 2 сентября 2013 (UTC)Ответить

Сообщение об ошибке править

Перенесено со страницы ВП:Сообщения об ошибках#Bash.
(Циклы - второй пример)

Пропущены кавычки. Это не шелл. Это баш. Написано:

  1. !/usr/bin/env bash

COUNTER=0 while $COUNTER -lt 10 ; do

 echo The counter is $COUNTER
 let COUNTER=COUNTER+1

done

Должно быть

  1. !/usr/bin/env bash

COUNTER=0 while $COUNTER -lt 10 ; do

 echo The counter is $COUNTER
 let "COUNTER=COUNTER+1"

done

$$ vs $BASHPID править

Знатоки, Почему ближе к концу статьи, когда сравниваются $$ и $BASHPID, в тексте статьи говорится, что bash в подоболочке не требует повторной инициализации и при этом на сопутствующей иллюстрации именно $BASHPID меняет своё значение в подоболочке????!

Может, всё-таки shell не требует повторной инициализации в подоболочке? Хотя подоболочка на то и подоболочка, чтобы быть дочерним процессом к родительскому в иерархии процессов и иметь свой pid.

Пишу с мобилы, компа нет и долго не будет, проверить не могу. Целенаправленно гуглить не буду, но читаю книгу про командную оболочку Линукс - может, и будет эта тонкость, а, может, и нет. Mipt finished (обс.) 01:52, 9 марта 2021 (UTC)Ответить

  • man bash, Shell Variables, BASHPID. Там описана разница. Подоболочка — это форк, он начинается с того же места родительского процесса, но является отдельным дочерним процессом. -- D6194c-1cc (обс.) 04:34, 9 марта 2021 (UTC)Ответить