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

Питання, характерні для Bourne Again SHell від GNU, на відміну від інших оболонок Bourne / POSIX. Для питань щодо оболонок Unix взагалі використовуйте тег / shell.

1
`set -e` та` grep` ідіома для запобігання передчасного виходу зі скрипту оболонки, коли шаблон не знайдено
Потрібна допомога - у контексті сценаріїв оболонок на базі GNU / LINUX: Я завжди користуюся set -e. Часто мені хотілося б grepі не завжди хочеться, щоб сценарій припиняв виконання, якщо grepстатус виходу із 1зазначенням шаблону не знайдено. Щось я намагався вирішити цю проблему: (Спробуйте я) Якщо set +o pipefailі попросити …
15 bash  grep  gnu  coreutils 

1
Чому Ctrl + m і Ctrl + q не використовуються в ярликах bash?
Нещодавно я переглядав клавіші швидких клавіш bash і намагаюся знайти відповідну для моєї клавіші активації tmux. Я знаходжу цікавим , що ctrl + mі ctrl + qне використовуються в ярликах Баш, згідно https://en.wikipedia.org/wiki/Bash_(Unix_shell) . Чому вони не використовуються? Я відчуваю себе ctrl + mдосить зручно. Чи ці дві комбінації призначені …

1
Оновіть історію bash на інших терміналах при виході з одного терміналу
Я знаю, що це питання є неясним, тому що тут його просять постійно оновлювати (і дублювати тут). Те, що я намагаюся досягти, трохи інше. Мені не подобається ідея про своє швидке перезапис файлу кожного lsтипу, який я набираю ( history -a; history -c; history -r). Я хотів би оновити файл …

3
Збережіть вихідний код на потім
Тож у мене є невеликий сценарій для запуску деяких тестів. javac *.java && java -ea Test rm -f *.class Тепер проблема з цим полягає в тому, що коли я запускаю скрипт ./test, він поверне код виходу з успіху, навіть якщо тест не вдасться, тому що rm -f *.classуспішний. Єдиний спосіб, …

1
Яка різниця між @ і * при посиланні значень масиву bash?
Цей посібник Баша говорить: Якщо номер індексу є @ або *, посилаються всі члени масиву. Коли я це роблю: LIST=(1 2 3) for i in "${LIST[@]}"; do echo "example.$i " done Дає: example.1 example.2 example.3(бажаний результат). Але коли я використовую ${LIST[*]}, я отримую example.1 2 3замість цього. Чому? Редагувати: при …
15 bash  array 


3
Чому "echo $ 0" дає різний результат для двох різних терміналів?
Я відкрив термінал на Ubuntu за допомогою Ctrl+ Alt+ Tта іншого терміналу, перейшовши в каталог, а потім клацнувши правою кнопкою миші та вибравши "Відкрити в терміналі". Я зробив це echo $0в обох випадках. У першому випадку: $ echo $0 -bash У другому випадку: $ echo $0 /bin/bash Чому така різниця?

2
Як працює GLOBIGNORE?
Відповідно до сторінки керівництва bash: GLOBIGNORE A colon-separated list of patterns defining the set of filenames to be ignored by pathname expansion. If a filename matched by a pathname expansion pattern also matches one of the patterns in GLOBIGNORE, it is removed from the list of matches. Однак на практиці …

4
Як змусити bash перервати виконання сценарію на синтаксичній помилці?
Щоб бути в безпеці, я б хотів, щоб bash перервав виконання сценарію, якщо він зіткнувся з синтаксичною помилкою. На мій подив, я не можу цього досягти. ( set -eнедостатньо.) Приклад: #!/bin/bash # Do exit on any error: set -e readonly a=(1 2) # A syntax error is here: if (( …

3
Налаштуйте стрілку вгору, щоб переглядати команди з тими самими початковими символами, а не всі попередні команди
У bashкомандному рядку ↑дає мені попередню команду. У командних рядках у numpyабо matlab, коли я набираю кілька символів, ↑подається мені раніше введена команда, починаючи з цих символів . Як я можу включити саме таку поведінку bash? Мені відомо про більш досконалі способи пошуку через історію командного рядка, але іноді простий …
15 bash  readline 

1
Історія башів із мітками часу
Я хотів би тримати часові позначки на командах, записаних у моєму Bash $ HISTFILE, чи це можливо? Мені не вдалося налаштувати його, використовуючи man bashяк джерело інформації. Мої інші варіанти такі: function thebanana() { local -r -a bash_commands=( "ls" # ... more coconut commands ) for bash_command in "${bash_commands[@]}"; do …

5
Чому grep не працює з перенаправленням?
Використання topкоманди з перенаправленням прекрасно працює: top > top.log Тепер я хочу використовувати grep для фільтрації певної лінії: top | grep "my_program" > top.log Але файл журналу залишиться порожнім. Але grep забезпечує вихід при використанні top | grep "my_program" Де my_programпотрібно замінити запущену програму, щоб побачити деякий вихід. Чому мій …
15 bash  grep 

3
Використання названих труб для з'єднання TCP
Я вже деякий час морочуся з тим, щоб це працювало, тому я підозрюю, що якихось принципових непорозумінь щодо того, як працюють труби, є першопричиною моїх проблем. Моя мета - ініціювати підключення TCP до якогось віддаленого хоста через netcatта мати дві іменовані канали у файловій системі: таку, з якої процеси можуть …
15 bash  pipe  tcp  netcat 

2
Стиснути каталог за допомогою tar / gz через SSH на локальний комп'ютер?
По суті, я хотів би tar / gz каталог на віддаленій машині і зберегти файл на своєму локальному комп'ютері без необхідності підключення назад до моєї локальної машини з віддаленого. Чи є спосіб зробити це через SSH? Файл смоли не потрібно зберігати на віддаленій машині, лише на локальній машині. Чи можливо …
15 bash  ssh  tar 

3
Як я можу обробляти необроблені бінарні дані в баш-трубі?
У мене є функція bash, яка приймає файл як параметр, перевіряє, що файл існує, а потім записує все, що відходить stdin, у файл. Наївне рішення прекрасно працює з текстом, але у мене виникають проблеми з довільними двійковими даними. echo -n '' >| "$file" #Truncate the file while read lines do …
15 bash  shell  binary 

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