Вопросы с тегом «shell»

Оболочка является интерфейсом командной строки Unix. Вы можете вводить команды в оболочке в интерактивном режиме или писать сценарии для автоматизации задач. Используйте этот тег для вопросов, относящихся к / bin / sh и большинству совместимых оболочек (ash, bash, ksh, zsh,…). Для сценариев оболочки с ошибками, пожалуйста, проверьте их в http://shellcheck.net перед публикацией здесь.

4
Как убрать лидирующие нули из вывода 'date' или избежать восьмеричной интерпретации таких десятичных чисел?
У меня есть это: date +"%H hours and %M minutes" Я использую фестиваль, чтобы сказать это ... но он говорит как: "ноль девять часов" .. Я хочу, чтобы он сказал "девять часов"! но дата всегда дает мне 09 ... так что мне интересно, может ли bash легко превратить это в …
37 bash  shell  date  arithmetic 

1
Как избежать «BASH-измов» в скриптах оболочки
Существует ли инструмент, похожий на Perl :: Critic, который будет проверять ваши сценарии оболочки и выявлять недостатки, проблемы переносимости, использование нестандартных программ без откатов, использование устаревших программ и т. Д.? Я понимаю, что set -o posixэто отключит использование не POSIX, но это не скажет мне вещей, которые я хочу знать, …
37 bash  shell  zsh  ash 

12
Как быстро сохранить и получить доступ к часто используемым командам?
У меня есть много команд, которые я обычно должен выполнять, часто с малейшим изменением. Прямо сейчас я храню их все .bash_historyи использую CTRL- Rчтобы получить к ним доступ, но мне интересно, есть ли лучший способ. Что я ищу: Легко добавить новую команду Простой поиск и повторное выполнение требуемой команды Избегайте …

1
Что означает символ @ (at) перед именем файла в команде curl?
Я смотрю на пример curlкоманды, которая использует символ @ перед именем файла для отправки данных на сервер. curl http://localhost/ --data-binary @file.txt Что это значит? Вставляет ли он содержимое файла в команду? Это специфично для curl?
37 shell  curl 

2
Есть ли причина, по которой у ls нет опции --zero или -0?
Этот вопрос был вызван вопросами о ls« -1опциях» и повторяющейся тенденцией людей задавать вопросы и ответы, включая обработку результатов ls. Такое повторное использование выходных данных lsкажется понятным, например: если вы знаете, как сортировать список файлов ls, возможно, вы захотите использовать выходные данные таким образом в качестве входных данных для чего-то …
37 shell  command-line  ls 

8
Как автоматически cd после git clone?
Я хочу автоматически cdв каталог, созданный cloneкомандой после того, как я git cloneчто-то сделал. Важно: я не хочу изменять синтаксис команды (например, использовать псевдоним / функцию), потому что это нарушит zsh-дополнения, которые я получаю автоматически из Pretzoпроекта. РЕДАКТИРОВАТЬ : Причина, по которой я не выбрал ни одного ответа как правильный, …
37 shell  zsh 

7
Как восстановить оболочку после отключения
Я работаю на удаленной машине с CentOS 5.6, и моя сеть продолжает падать. Есть ли способ восстановить мои зависшие сеансы после повторного подключения? РЕДАКТИРОВАТЬ: я делаю некоторые обновления и установки с yum и беспокоюсь, что это может быть проблемой, если процессы продолжают зависать в середине того, что они делают.

5
Как переименовать несколько файлов, используя find
Я хочу переименовать несколько файлов (file1 ... filen в file1_renamed ... filen_renamed), используя findкоманду: find . -type f -name 'file*' -exec mv filename='{}' $(basename $filename)_renamed ';' Но получаю эту ошибку: mv: cannot stat ‘filename=./file1’: No such file or directory Это не работает, потому что имя файла не интерпретируется как переменная …
37 shell  find 

1
Должны ли мы использовать символы UTF-8, такие как ⏰ в скрипте bash / shell?
Простой код здесь работает, как и ожидалось, на моей машине, если запущен с bash: function ⏰(){ date } ⏰ Может ли быть проблема для других людей, использующих это, или это универсально? Мне интересно, потому что я никогда не видел ничего подобного в другом исходном коде. Изменить: Есть неограниченные возможности, его …
36 bash  shell  unicode 

2
Использовать расширение .sh или .bash для скриптов bash?
(См. Использование #! / Bin / sh или #! / Bin / bash для совместимости с Ubuntu-OSX и простоты использования и POSIX ) Если я хочу, чтобы в моих сценариях использовалась оболочка bash, действительно ли расширение .bash вызывает bash или это зависит от конфигурации системы / 1-й строки shebang. Если …
36 bash  shell  shebang 

3
Почему открытие файла происходит быстрее, чем чтение содержимого переменной?
В bashскрипте мне нужны различные значения из /proc/файлов. До сих пор у меня есть десятки строк, которые напрямую копируют файлы: grep -oP '^MemFree: *\K[0-9]+' /proc/meminfo Чтобы сделать это более эффективным, я сохранил содержимое файла в переменной и добавил следующее: a=$(</proc/meminfo) echo "$a" | grep -oP '^MemFree: *\K[0-9]+' Вместо того, чтобы …

3
Как изменить оболочку по умолчанию на ZSH - chsh говорит «недопустимая оболочка»
Я установил ZSH на мою виртуальную машину, где я скомпилировал ее из исходного кода. Расположение ZSH - это /usr/local/bin/zshкогда я запускаю chsh -s /usr/local/bin/zshего вывод chsh: /usr/local/bin/zsh is an invalid shell. Я тоже попробовал это с sudo. Как я могу изменить это?
36 shell  zsh  users  login 

3
Что более идиоматично в скрипте bash: `|| true` или `|| : `?
Я не слишком много пишу сценариев оболочки, поэтому я немного удивился, когда читал документациюgit submodule и увидел синтаксис, который они использовали в этой документации: Ненулевой возврат команды в любом подмодуле приводит к прекращению обработки. Это можно переопределить, добавив || :в конец команды. Я должен был посмотреть, что || :было условием …
36 bash  shell 

4
Почему «sudo su» в сценарии оболочки не запускает остальную часть сценария от имени пользователя root?
Пример сценария может быть следующим: #!/bin/bash sudo su ls /root При использовании ./test.shв качестве обычного пользователя вместо запуска lsот имени суперпользователя и выхода, он переключается в режим root; и когда я выхожу, он выполняется ls /rootкак обычный пользователь. Кто-нибудь может рассказать мне о механизме об этом?
36 shell  shell-script  sudo  root  su 

9
Вывести «голливудскую хакерскую сцену» из оболочки
Это может показаться странным вопросом, но что бы вы использовали для создания типичной голливудской хакерской сцены? Я получил этот запрос от друга, и мой мозг был пустым. Все, что я мог придумать, это все nmap-сцены из таких фильмов, как «Матрица» и так далее. Но это должно быть сделано на Mac …
36 shell 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.