Что делать, если у меня нет басрца?

Когда задача выполняется в cron, stdin закрывается. Программы, которые действуют по-разному на основе доступности stdin или нет, будут вести себя по-разному между сеансом оболочки и cron.

Примером является программа goaccess для анализа файлов журнала веб-сервера. Это НЕ работает в cron:

goaccess -a -f /var/log/nginx/access.log > output.html

и goaccess показывает страницу справки вместо создания отчета. В оболочке это можно воспроизвести с помощью

goaccess -a -f /var/log/nginx/access.log > output.html < /dev/null

Исправление для goaccess состоит в том, чтобы заставить его читать журнал из stdin вместо чтения из файла, поэтому решение состоит в том, чтобы изменить запись crontab на

cat /var/log/nginx/access.log | goaccess -a > output.html
7
задан 17 May 2011 в 16:25

22 ответа

Не нужно иметь файл bashrc (видимо, вы имеете в виду персональный файл ~/.bashrc).

Эффекты отсутствия файла bashrc по умолчанию можно проверить, прочитав то, что по умолчанию .bashrc изменения файлов в среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls).

Если оболочка не является интерактивной, файл по умолчанию .bashrc не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если отсутствует системная /etc/bash.bashrc, она по-прежнему не критична к системе. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает рекомендации относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 29 May 2018 в 09:02
  • 1
    Нет, мне было просто любопытно, что произойдет в его отсутствие. – theTuxRacer 17 May 2011 в 16:35
  • 2
    Я обновил ответ со ссылкой на то, что если отсутствует /etc/bash.bashrc. – user4124 17 May 2011 в 19:19

Не нужно иметь файл bashrc (видимо, вы имеете в виду персональный файл ~/.bashrc).

Эффекты отсутствия файла bashrc по умолчанию можно проверить, прочитав то, что по умолчанию .bashrc изменения файлов в среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls).

Если оболочка не является интерактивной, файл по умолчанию .bashrc не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если отсутствует системная /etc/bash.bashrc, она по-прежнему не критична к системе. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает рекомендации относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 25 July 2018 в 21:54

Не нужно иметь файл bashrc (видимо, вы имеете в виду персональный файл ~/.bashrc).

Эффекты отсутствия файла bashrc по умолчанию можно проверить, прочитав то, что по умолчанию .bashrc изменения файлов в среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls).

Если оболочка не является интерактивной, файл по умолчанию .bashrc не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если отсутствует системная /etc/bash.bashrc, она по-прежнему не критична к системе. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает рекомендации относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 26 July 2018 в 17:39

Не нужно иметь файл bashrc (видимо, вы имеете в виду персональный файл ~/.bashrc).

Эффекты отсутствия файла bashrc по умолчанию можно проверить, прочитав то, что по умолчанию .bashrc изменения файлов в среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls).

Если оболочка не является интерактивной, файл по умолчанию .bashrc не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если отсутствует системная /etc/bash.bashrc, она по-прежнему не критична к системе. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает рекомендации относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 31 July 2018 в 11:14

Не нужно иметь файл bashrc (видимо, вы имеете в виду персональный файл ~/.bashrc).

Эффекты отсутствия файла bashrc по умолчанию можно проверить, прочитав то, что по умолчанию .bashrc изменения файлов в среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls).

Если оболочка не является интерактивной, файл по умолчанию .bashrc не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если отсутствует системная /etc/bash.bashrc, она по-прежнему не критична к системе. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает рекомендации относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 31 July 2018 в 12:15

Не нужно иметь файл bashrc (видимо, вы имеете в виду персональный файл ~/.bashrc).

Эффекты отсутствия файла bashrc по умолчанию можно проверить, прочитав то, что по умолчанию .bashrc изменения файлов в среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls).

Если оболочка не является интерактивной, файл по умолчанию .bashrc не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если отсутствует системная /etc/bash.bashrc, она по-прежнему не критична к системе. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает рекомендации относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 2 August 2018 в 03:29

Не нужно иметь файл bashrc (видимо, вы имеете в виду персональный файл ~/.bashrc).

Эффекты отсутствия файла bashrc по умолчанию можно проверить, прочитав то, что по умолчанию .bashrc изменения файлов в среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls).

Если оболочка не является интерактивной, файл по умолчанию .bashrc не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если отсутствует системная /etc/bash.bashrc, она по-прежнему не критична к системе. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает рекомендации относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 4 August 2018 в 19:26

Не стоит иметь файл bashrc (видимо, вы имеете в виду персональный файл ~ / .bashrc ).

Эффекты отсутствия файла bashrc по умолчанию могут быть рассмотрел, прочитав, что файл .bashrc по умолчанию изменяется в вашей среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls ).

Если оболочка не является интерактивной, default .bashrc файл не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если общесистемный /etc/bash.bashrc отсутствует, он по-прежнему не критичен для системы. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает предложения относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 6 August 2018 в 03:37

Не стоит иметь файл bashrc (видимо, вы имеете в виду персональный файл ~ / .bashrc ).

Эффекты отсутствия файла bashrc по умолчанию могут быть рассмотрел, прочитав, что файл .bashrc по умолчанию изменяется в вашей среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls ).

Если оболочка не является интерактивной, default .bashrc файл не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если общесистемный /etc/bash.bashrc отсутствует, он по-прежнему не критичен для системы. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает предложения относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 7 August 2018 в 21:27

Не стоит иметь файл bashrc (видимо, вы имеете в виду персональный файл ~ / .bashrc ).

Эффекты отсутствия файла bashrc по умолчанию могут быть рассмотрел, прочитав, что файл .bashrc по умолчанию изменяется в вашей среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls ).

Если оболочка не является интерактивной, default .bashrc файл не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если общесистемный /etc/bash.bashrc отсутствует, он по-прежнему не критичен для системы. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает предложения относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 10 August 2018 в 09:44

Не стоит иметь файл bashrc (видимо, вы имеете в виду персональный файл ~ / .bashrc ).

Эффекты отсутствия файла bashrc по умолчанию могут быть рассмотрел, прочитав, что файл .bashrc по умолчанию изменяется в вашей среде оболочки. В файле .bashrc нет ничего важного; bash будет просто использовать (консервативные) значения по умолчанию при его запуске (например, без псевдонимов, без завершения, без цвета ls ).

Если оболочка не является интерактивной, default .bashrc файл не разбирается (в начале есть команда, которая проверяет, является ли оболочка интерактивной, а если нет, она просто выходит).

Если общесистемный /etc/bash.bashrc отсутствует, он по-прежнему не критичен для системы. Самый важный элемент из /etc/bash.bashrc - включить функцию, не найденную командой; когда вы вводите команду, которая не найдена, она дает предложения относительно того, какие пакеты вы можете установить для получения указанной команды.

6
ответ дан 13 August 2018 в 15:57
  • 1
    Нет, мне было просто любопытно, что произойдет в его отсутствие. – theTuxRacer 17 May 2011 в 16:35
  • 2
    Я обновил ответ со ссылкой на то, что если отсутствует /etc/bash.bashrc. – user4124 17 May 2011 в 19:19

Попробуйте

man bash

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 29 May 2018 в 09:02

Попробуйте

man bash

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 25 July 2018 в 21:54

Попробуйте

man bash

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 26 July 2018 в 17:39

Попробуйте

man bash

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 31 July 2018 в 11:14

Попробуйте

man bash

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 31 July 2018 в 12:15

Попробуйте

man bash

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 2 August 2018 в 03:29

Попробуйте

man bash

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 4 August 2018 в 19:26

Попробуйте

  man bash  

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 6 August 2018 в 03:37

Попробуйте

  man bash  

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 7 August 2018 в 21:27

Попробуйте

  man bash  

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 10 August 2018 в 09:44

Попробуйте

  man bash  

и посмотрите раздел INVOCATION. Это объяснит, как начинается bash.

0
ответ дан 13 August 2018 в 15:57

Другие вопросы по тегам:

Похожие вопросы: