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

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

13
Сценарий оболочки - удалить первую и последнюю кавычку (") из переменной
Ниже приведен фрагмент сценария оболочки из более крупного сценария. Он удаляет кавычки из строки, содержащейся в переменной. Я делаю это с помощью sed, но эффективно ли это? Если нет, то каков эффективный путь? #!/bin/sh opt="\"html\\test\\\"" temp=`echo $opt | sed 's/.\(.*\)/\1/' | sed 's/\(.*\)./\1/'` echo $temp
225 string  bash  shell  unix  sed 



8
Как разбить одну строку на несколько строк, разделенных хотя бы одним пробелом в оболочке bash?
У меня есть строка, содержащая много слов, по крайней мере, один пробел между каждыми двумя. Как я могу разбить строку на отдельные слова, чтобы я мог проходить через них? Строка передается в качестве аргумента. Например ${2} == "cat cat file". Как я могу пройти через это? Кроме того, как я …
224 bash  shell  string  split 

18
Как вы повторяете 4-значный символ Unicode в Bash?
Я хотел бы добавить череп и скрещенные кости Юникода в мою подсказку оболочки (в частности, «ЧЕРЕП И КРЕСТЫ» (U + 2620)), но я не могу понять магическое заклинание, которое заставило бы эхо выплюнуть его или любое другое, 4-значный Unicode символ. Двузначные легко. Например, echo -e "\ x55",. В дополнение к …

19
Проверьте, есть ли у шара какие-либо совпадения в bash
Если я хочу проверить наличие одного файла, я могу проверить его с помощью test -e filenameили [ -e filename ]. Предположим, у меня есть глобус, и я хочу знать, существуют ли какие-либо файлы, имена которых соответствуют глобусу. Глобус может соответствовать 0 файлам (в этом случае мне ничего не нужно делать), …
223 bash  glob 

22
Проверьте, установлен ли пакет apt-get, а затем установите его, если он не работает в Linux.
Я работаю над системой Ubuntu, и в настоящее время это то, что я делаю: if ! which command > /dev/null; then echo -e "Command not found! Install? (y/n) \c" read if "$REPLY" = "y"; then sudo apt-get install command fi fi Это то, что большинство людей будет делать? Или есть …
223 bash  shell  apt-get 

6
Заменить одного персонажа другим в Bash
Мне нужно иметь возможность сделать, это заменить пробел ( ) с точкой ( .) в строке в Bash. Я думаю, это было бы довольно просто, но я новичок, поэтому не могу понять, как изменить подобный пример для этого использования.
223 string  bash  replace 

13
Как перебрать имена файлов, возвращаемые функцией find?
x=$(find . -name "*.txt") echo $x если я запускаю приведенный выше фрагмент кода в оболочке Bash, то получаю строку, содержащую несколько имен файлов, разделенных пробелом, а не список. Конечно, я могу разделить их пустыми, чтобы получить список, но я уверен, что есть лучший способ сделать это. Итак, каков наилучший способ …
223 bash  find 

7
Как мне перечислить функции, определенные в моей оболочке?
Я могу ввести псевдоним, чтобы показать список всех псевдонимов. Но для функций все, что я могу сделать, это grep my .bash_profile. Это только те, которые находятся в этом файле, а не те, которые определены во вспомогательных файлах или динамически. Есть ли более удобный способ узнать, какие функции определены в настоящее …
223 bash  shell  function  unix 

8
Как выйти, если команда не прошла?
Я нуб в сценариях оболочки. Я хочу напечатать сообщение и выйти из сценария, если команда не выполнена. Я пробовал: my_command && (echo 'my_command failed; exit) Но это не работает. Он продолжает выполнять инструкции, следующие за этой строкой в ​​скрипте. Я использую Ubuntu и Bash.
222 linux  bash  exit  exitstatus 

30
Как запустить Конду?
Я установил Anaconda и могу запустить Python, поэтому я предполагаю, что установил его правильно. Следуя этой вводной документации , я пытаюсь установить Python v3.3, поэтому я копирую и вставляю следующую строку в мою консоль: conda create -n py33 python=3.3 anaconda Тем не менее, это дает мне ошибку: -bash: conda: команда …
222 python  bash  anaconda  conda 

8
Вычтите две переменные в Bash
У меня есть сценарий ниже, чтобы вычесть количество файлов между двумя каталогами, но COUNT=выражение не работает. Какой правильный синтаксис? #!/usr/bin/env bash FIRSTV=`ls -1 | wc -l` cd .. SECONDV=`ls -1 | wc -l` COUNT=expr $FIRSTV-$SECONDV ## -> gives 'command not found' error echo $COUNT
220 bash  shell  unix 

19
Как разрешить символические ссылки в сценарии оболочки
Учитывая абсолютный или относительный путь (в Unix-подобной системе), я хотел бы определить полный путь к цели после разрешения любых промежуточных символических ссылок. Бонусные баллы за одновременное разрешение ~ имени пользователя. Если целью является каталог, возможно, можно выполнить chdir () в каталог, а затем вызвать getcwd (), но я действительно хочу …
220 bash  shell  scripting  symlink 

17
Как определить, что сценарий получен
У меня есть сценарий, в котором я не хочу, чтобы он вызывался, exitесли он получен. Я подумал о том, чтобы проверить, $0 == bashесть ли проблемы, если сценарий получен из другого сценария или если пользователь получает его из другой оболочки, например ksh. Есть ли надежный способ определить, что сценарий был …
220 bash  ksh 

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