Запитання з тегом «shell»

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

7
Як вставити пробіл кожні чотири символи у довгий рядок?
У мене довгий рядок, що я хочу вставляти пробіл кожні 4 символи, в одному самотньому рядку суцільного тексту, щоб полегшити читання, який найпростіший спосіб це зробити? також я повинен мати можливість вводити лінію з труби. напр echo "foobarbazblargblurg" | <some command here> дає foob arba zbla rgbl urg

4
Цитування в ssh $ host $ FOO та ssh $ host "sudo su user -c $ FOO"
Я часто закінчую видачу складних команд через ssh; ці команди включають в себе трубопровід для пробудження або перл одно рядків, і в результаті містять одинарні лапки та $. Я ні в якому разі не зміг визначити важке і швидке правило, як правильно робити цитування, і не знайшов для цього хорошого …
30 bash  shell  ssh  quoting 


1
Чи можна безпечно використовувати `find -exec sh -c`?
Я намагаюся використовувати , findщоб echo 0в деякі файли, але , мабуть , це працює тільки з sh -c: find /proc/sys/net/ipv6 -name accept_ra -exec sh -c 'echo 0 > {}' \; Але використання sh -cз допомогою find -execмене відчуває себе дуже непросто, тому що я підозрюю проблеми з цитуванням. Я …
30 shell  find 

6
Як за допомогою команди оболонки відображати лише перший і останній стовпчик у текстовому файлі?
Мені потрібна допомога, щоб з’ясувати, як за допомогою команди sed показати лише перший і останній стовпчик у текстовому файлі. Ось що я поки що мав для колонки 1: cat logfile | sed 's/\|/ /'|awk '{print $1}' Моя слабка спроба отримати останній стовпець, щоб показати також: cat logfile | sed 's/\|/ …
30 shell  sed  awk 

3
Якщо я буду виконувати файл сценарію Bash, чи всі команди всередині сценарію Bash будуть виконані як sudo?
Я хочу написати автоматичний сценарій після встановлення в Bash (так називається post-install.sh, наприклад). Сценарій автоматично додавати та оновлювати сховища, встановлювати та оновлювати пакети, редагувати конфігураційні файли тощо. Тепер, якщо я виконую цей скрипт, наприклад, з sudo post-install.sh, мені буде запропоновано ввести sudoпароль лише один раз, або мені потрібно буде вводити …


4
Чому множина -e не працює всередині підзаголовків з дужками (), а потім списком АБО ||?
Нещодавно я натрапив на такі сценарії, як: ( set -e ; do-stuff; do-more-stuff; ) || echo failed Це мені добре виглядає, але це не працює! Додаток set -eне застосовується, коли ви додаєте ||. Без цього він прекрасно працює: $ ( set -e; false; echo passed; ); echo $? 1 Однак …

6
скрипт вихідної оболонки з підшару
Розглянемо цей фрагмент: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } Зазвичай, коли funcвін викликається, це призведе до припинення дії сценарію, що і є передбачуваною поведінкою. Однак, якщо він виконується в підколонці, наприклад в …

7
Яку оболонку я повинен використовувати - tcsh vs bash? [зачинено]
Я використовую tcshвже давно. Але щоразу, коли я щось шукаю, я часто виявляю, що вказані методи є bashспецифічними. Навіть синтаксис скриптів оболонки відрізняється для двох. З того, що я зазнав у пошуку та навчанні в Інтернеті, bashсхоже, є більш поширеною оболонкою. Навіть кількість запитань на цьому веб-сайті позначено bashнабагато більше …
30 linux  shell  bash  fedora  tcsh 

4
Як я можу показати дерево процесної оболонки терміналу, включаючи дітей?
Коли сценарій запускається з командного рядка, оболонка породжує підпроцес для цього сценарію. Я хочу показати, що взаємозв'язок між процесом термінального рівня та його дітьми використовує psу дереві вихідний стиль. Як я можу це зробити? Що я спробував поки що файл: script.sh #!/bin/bash ps -f -p$1 Потім я викликаю скрипт з …
30 shell  ps 


2
Який поточний десятковий роздільник?
Скажіть, у мене є сценарій оболонки POSIX, що потрібно працювати в різних системах / середовищах, які я не контролюю, і потрібно видалити десятковий роздільник з рядка, який випромінюється програмою, яка поважає параметри локалі. Як я можу виявити десятковий роздільник найбільш загальним способом?

3
Перехід на батьківську оболонку, не виходячи з системи
Скажімо, я починаю у своєму локальному обліковому записі: avindra@host:~> тоді я переходжу до root: host:~ # Тоді я переходжу на oracle: [ oracle@host:~] Чи є спосіб, щоб я повернувся до кореневої оболонки (батьківської), не виходячи з оболонки Oracle? У цьому випадку було б зручно, оскільки обліковий запис oracle не має …
29 shell 

1
Чому заміна процесу BASH не працює з деякими командами?
Інколи процес заміни не буде працювати, як очікувалося. Ось приклад: Вхід: gcc <(echo 'int main(){return 0;}') Вихід: /dev/fd/63: file not recognized: Illegal seek collect2: error: ld returned 1 exit status Вхід: Але він працює, як очікувалося, при використанні з іншою командою: grep main <(echo 'int main(){return 0;}') Вихід: int main(){return …

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