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

Для вопросов о скриптах, написанных для командной оболочки Bash. Для сценариев оболочки с ошибками / синтаксическими ошибками, пожалуйста, проверьте их с помощью программы shellcheck (или на сервере веб-проверки оболочки по адресу https://shellcheck.net) перед размещением здесь. Вопросы об интерактивном использовании Bash, скорее всего, будут касаться темы Super User, а не переполнения стека.


6
В чем разница между PS1 и PROMPT_COMMAND
Просматривая эту замечательную ветку, я заметил, что в некоторых примерах используется PS1="Blah Blah Blah" и некоторые используют PROMPT_COMMAND="Blah Blah Blah" (а некоторые используют и то, и другое) при настройке приглашения в оболочке bash. Какая разница между двумя? Поиск SO и даже немного более широкий поиск в Google не дают мне …
109 bash  prompt 


11
Как перечислить размер каждого файла и каталога и отсортировать по убыванию в Bash?
Я обнаружил, что нет простого способа получить размер каталога в Bash? Я хочу, чтобы при вводе текста ls -<some options>он мог рекурсивно отображать всю сумму размера файла каталога и файлов одновременно и сортировать по порядку размера. Это возможно?
108 linux  file  bash 


4
Использование unset против установки переменной на пустую
В настоящее время я пишу структуру тестирования bash, где в тестовой функции могут использоваться как стандартные тесты bash ( [[), так и предопределенные сопоставители. Сопоставители являются оболочками для '[[' и помимо возврата кода возврата, устанавливают какое-то значимое сообщение, говорящее о том, что ожидалось. Пример: string_equals() { if [[ ! $1 …
108 bash  variables  syntax 

7
Идентифицировать пользователя в сценарии Bash, вызываемом sudo
Если я создам сценарий, /root/bin/whoami.shсодержащий: #!/bin/bash whoami и этот сценарий вызывается пользователем с правильно настроенным sudo, он укажет root Есть ли быстрый способ получить фактического пользователя в сценарии, или мне придется прибегать к параметрам, передаваемым через это имя пользователя?
108 linux  bash  sudo 



5
Как мне узнать MIME-тип файла (Content-Type)?
Есть ли способ узнать тип MIME (или он называется «Content-Type»?) Файла в сценарии Linux bash? Причина, по которой мне это нужно, заключается в том, что ImageShack, похоже, нужен для загрузки файла, поскольку по какой-то причине он обнаруживает файл .png как application/octet-streamфайл. Я проверил файл, и это действительно изображение PNG: $ …

9
Как заставить cp перезаписать каталог вместо создания другого внутри?
Я пытаюсь написать сценарий Bash, который перезапишет существующий каталог. У меня есть каталог, foo/и я пытаюсь заменить bar/его. Но когда я это сделаю: cp -Rf foo/ bar/ создается новый bar/foo/каталог. Я не хочу этого. Есть два файла foo/; aи b. Также есть файлы с bar/такими же именами . Я хочу, …
108 linux  bash  shell  command-line  cp 

4
Сценарий оболочки при чтении цикла строки останавливается после первой строки
У меня есть следующий сценарий оболочки. Цель состоит в том, чтобы пройти через каждую строку целевого файла (путь которого является входным параметром скрипта) и выполнить работу с каждой строкой. Теперь, похоже, работает только с самой первой строкой в ​​целевом файле и останавливается после обработки этой строки. Что-то не так с …
108 bash  shell  ssh  while-loop 

11
Побочные результаты unix diff?
Как я могу отобразить результаты команды unix diff бок о бок вместо одного различия за другим? См. Пример ниже: diff /tmp/test1 /tmp/test2 1,4c1,2 < asfdsadf < asdfsad < fsaf < fdsadf --- > asdfsafdsf > saf 6,8d3 < sadf < asdf < sadf 10d4 < fasd 12,13c6,14 < sadfa < …
108 bash  unix  diff 

2
Почему в Bash следует избегать eval и что использовать вместо этого?
Снова и снова я вижу ответы Bash об использовании переполнения стека, evalи ответы получаются резкими, каламбурными, за использование такой «злой» конструкции. Почему evalтакое зло? Если evalиспользовать безопасно, что я должен использовать вместо этого?
107 linux  bash  unix  eval 

13
Заполнение символов в printf
Я пишу сценарий оболочки bash, чтобы отображать, запущен процесс или нет. Пока что получил вот что: printf "%-50s %s\n" $PROC_NAME [UP] Код дает мне такой результат: JBoss [DOWN] GlassFish [UP] verylongprocessname [UP] Я хочу заполнить промежуток между двумя полями знаком «-» или «*», чтобы сделать его более читаемым. Как мне …
107 bash  shell  printf 

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