Запитання з тегом «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 


20
Як обчислити час, що минув у скрипті bash?
Я друкую час початку та закінчення за допомогою date +"%T", що призводить до чогось такого типу: 10:33:56 10:36:10 Як я міг обчислити та роздрукувати різницю між цими двома? Я хотів би отримати щось на кшталт: 2m 14s
224 bash  date 

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

18
Як ви повторюєте чотиризначний символ Unicode в Bash?
Я б хотів додати череп і перекладини Unicode до мого підказки для оболонки (зокрема, "СКУЛЬ І КРОСБОНИ" (U + 2620)), але я не можу розгадати магічну заклик зробити так, щоб ехо випльовувало його чи будь-яке інше, 4-значний символ Unicode. Двозначні цифри легко. Наприклад, echo -e "\ x55",. Окрім наведених нижче …

19
Перевірте, чи є у глобуса відповідність у баші
Якщо я хочу перевірити наявність одного файлу, я можу перевірити його за допомогою 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 

7
Як перерахувати функції, визначені в моїй оболонці?
Я можу ввести псевдонім, щоб показати список усіх псевдонімів. Але що стосується функцій, все, що я можу зробити, - це грепати своє .bash_profile. Це отримує лише ті, які є у цьому файлі, а не ті, що визначені у допоміжних файлах чи динамічно. Чи є більш зручний спосіб з'ясувати, які функції …
223 bash  shell  function  unix 

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

8
Як вийти, якщо команда не вдалася?
Я нобіль в сценарії оболонок. Я хочу надрукувати повідомлення та вийти зі свого сценарію, якщо команда не виконана. Я спробував: my_command && (echo 'my_command failed; exit) але це не працює. Він продовжує виконувати інструкції, наступні за цим рядком у сценарії. Я використовую Ubuntu та bash.
222 linux  bash  exit  exitstatus 

30
Як запустити Conda?
Я встановив Anaconda і можу запустити Python, тому припускаю, що я встановив його правильно. Після цієї вступної документації я намагаюся встановити Python v3.3, тому я копіюю та вставляю наступний рядок у свою консоль: conda create -n py33 python=3.3 anaconda Однак це дає мені помилку: -bash: conda: команда не знайдена Що …
221 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 


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.