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

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


2
"$?" Змінна (знак долара) питання доступна лише в оболонці Bash?
У Bashоболонці я можу отримати статус виходу команди через $?змінну: # ps -ef | grep "haha" root 15439 15345 0 23:02 pts/0 00:00:00 grep --color=auto haha # echo $? 0 Він доступний лише в оболонці Bash? Або я можу використовувати його і в інших оболонках?

2
Чому цикл на час зупиняється після призупинення?
Чому так, що використовуючи bash та призупиняючи цикл, а цикл припиняється після відновлення? Короткий приклад нижче. $ while true; do echo .; sleep 1; done . . ^Z [1]+ Stopped sleep 1 $ fg sleep 1 $ Мені знайомі сигнали, і я здогадуюсь, що це може бути природна поведінка баша …

4
Чому моя програма під назвою "set" не виконується?
Я створив просту програму на C: int main(int argc, char *argv[]) { if (argc != 5) { fputs("Not enough arguments!\n", stderr); exit(EXIT_FAILURE); } І я змінив PATH в etc / bash.bashrc так: PATH=.:$PATH Я зберегла цю програму як set.c і збираю її gcc -o set set.c у папці ~/Programming/so Однак, …

2
Замініть поточний процес його спільним процесом / дочірньою
У мене є програма, Pяка очікує отримання "Привіт" та виведення "Чому?" перед наданням функції. Ця функція використовується іншими програмами, які не усвідомлюють, що розпочати розмову з "Привіт" є загальною люб'язністю. Таким чином, я хочу написати обгортку, Pяка працює так (синтаксис zsh): coproc P print -p Hello # Send Hello to …
10 shell  scripting  process  zsh 

3
Виконуйте команду кожні X секунд
Я хочу виконати команду будь-коли 10 секунд, і виконати її у фоновому режимі (тим самим усунути watch?). Усі відповіді показують щось на зразок наступного, але це триватиме 11–14 секунд. Як це можна досягти? while true; do # perform command that takes between 1 and 4 seconds sleep 10 done

2
Як відправити весь вихід на `logger` в оболонці POSIX?
Мені хотілося б окремо записувати стандартний висновок та стандартну помилку при .xprofileвикористанні logger. В Bash я думаю, що це виглядатиме приблизно так: exec 1> >(logger --priority user.notice --tag $(basename $0)) \ 2> >(logger --priority user.error --tag $(basename $0)) Як би я це зробив сумісно з POSIX /bin/sh ?
10 shell  pipe  posix 

7
Як я можу зробити сценарій для підрахунку до п'яти?
Я намагався зробити дуже простий сценарій bash, щоб перелічити всі кратні п’ять між 375 і 3500 (375, 380, 385 ...). Одне, що я намагався і не спрацював, це: for i in {375..3500} do echo $i (($i += 5)) done Через деякий час я відмовився і написав це в BASIC приблизно …
10 bash  shell  scripting 

2
Простори імен оболонок
Чи є шлях до sourceсценарію оболонки в простір імен, бажано скрипта bash shell, але я би заглянув у інші оболонки, якби вони мали цю функцію, а bash - ні. Я маю на увазі під цим, наприклад, щось на зразок "приставки всіх визначених символів з чимось таким чином, щоб вони не …
10 shell 

1
Заміна баша зі змінною, визначеною з глобальної картини
Наведений нижче приклад пояснює проблему. Чому FILENAMEдрукується правильно, коли лунає і сприймається як зразок при використанні підстановки? #!/bin/bash FILEPATH_WITH_GLOB="/home/user/file_*" FILENAME=$(basename "$FILEPATH_WITH_GLOB") echo $FILENAME #file_1234 echo ${FILENAME:1:5} #ile_* <---why is this not ile_1

6
Видалення файлів з пробілами в їх назвах
Я намагаюся видалити всі файли з пробілом у їх іменах. Я використовую наступну команду. Але це дає мені помилку Команда: ls | egrep '. ' | xargs rm Тут, якщо я використовую лише ls | egrep '. 'команду, це дає мені все ім'я файлу з пробілами у назви файлів. Але …
10 shell  quoting  rm  xargs 

1
Відстежуйте певні параметри в якійсь команді
Скажімо, у мене є команда git branch(завжди з парою слів), наприклад. Те, що я хочу, - це відслідковувати, коли ця команда виконується аргументами. Наприклад, якщо я виконую команду git branch developбез помилок, я хочу зберегти developу файлі. Я спробував замінити команду git на моєму .bash_profile, приблизно так: git () { …
10 bash  shell  function 

5
Зміна часового поясу кроні
У мене є cronjob, який виконується щодня о 9:00 за UTC-часом. Я в GMT + 1, тому він виконується о 10:00 за місцевим часом. Коли відбувається зміна часового поясу (на літній час, DST), робота виконує ще о 9:00 ранку UTC, але за 11:00 за місцевим часом. Але я хочу, щоб …
10 shell  cron  timezone 

3
Передача сценарію з "читанням" на баш
Мені потрібно запустити сценарій по конвеєру через bashз wget(а не працює безпосередньо з Баш). $ wget -O - http://example.com/my-script.sh | bash Це не працює, оскільки мій сценарій містить readу ньому заяви. Чомусь вони не працюють при переході на баш: # Piping to bash works in general $ echo 'hi' hi …
10 bash  shell  pipe  read 

1
Повторний прогрес у фоновому процесі без підказки про викрадення
Розглянемо простий сценарій hello: #!/bin/bash echo 'hello world!' Тепер від bash, якщо я спробую запустити це у фоновому режимі: $ hello & [1] 12345 $ hello world! █ <--- prompt is stuck here until I hit enter! [1]+ Done $ █ <--- prompt back to normal Що я хотів би …

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