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

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

2
Чому "bash -x" порушує цей сценарій?
У мене є сценарій, який вимірює, як довго виконується деяка команда. Для цього потрібна команда "real" time, тобто двійковий файл, наприклад у /usr/bin/time(оскільки вбудований bash не має -fпрапора). Нижче спрощений сценарій, який можна налагодити: #!/bin/bash TIMESEC=$(echo blah | ( /usr/bin/time -f %e grep blah >/dev/null ) 2>&1 | awk -F. …

5
Як я можу змусити цей скрипт вийти з помилки на основі результату для циклу?
У мене є bash-скрипт, який використовує set -o errexitтак, що при помилці весь сценарій виходить у момент відмови. Сценарій виконує curlкоманду, яка інколи не може отримати призначений файл, однак, коли це відбувається, сценарій не виходить з помилки виходу. Я додав forцикл до зробіть паузу на кілька секунд, а потім повторіть …

2
Як по-різному відображати контрольні символи (^ C, ^ D, ^ [, ...) в оболонці
Коли ви вводите контрольні символи в оболонці, вони відображаються, використовуючи те, що називається "позначення карет". Наприклад, про втечу пишеться як ^[у позначеннях карет. Мені подобається налаштувати мою башмаку, щоб вона виглядала круто. Я, наприклад, змінив своє PS1і PS2став кольоровим. Тепер я хочу, щоб контрольні символи набули унікального вигляду, а також …

7
Як відформатувати вихідну дату з пробілами як змінною у сценарії?
Я хочу зробити dateкоманду з приємним форматуванням так: $ date +"%Y-%m-%d %H:%M:%S" 2015-09-17 16:51:58 Але я хочу зберегти це в змінній, щоб я міг зателефонувати зі сценарію, як це: echo "$(nice_date) [WARNING] etc etc" Однак це не працює $ nice_date="date +%Y-%m-%d %H:%M:%S" $ echo "$($nice_date)" date: extra operand ‘%H:%M:%S’ Try …
13 bash  date 

2
Як збільшити локальну змінну в Bash?
Дані 1 \begin{document} 3 Код #!/bin/bash function getStart { local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)" echo $START } START2=$(getStart) echo $START2 яка повертається, 2але я хочу 3. Я невдало змінюю кінець цією відповіддю про те, як можна додати числа в скрипті bash : START2=$((getStart+1)) Як можна збільшити локальну …

3
Як зрозуміти команду “cat> file_name << blah”?
У наступній команді cat приймає вміст here-doc і перенаправляє його у файл з назвою conf: cat &gt; conf &lt;&lt; EOF var1="cat" var2="dog" var3="hamster" EOF Як тут зрозуміти порядок команд? Чи bashспочатку обробляє все інше (тут-частина документа), і як завершальний крок це виглядає &gt; conf?

3
Несподіване завершення Bash ~ на OS X
Я натиснув ~TabTabна командний рядок bash і отримав несподіваний набір завершень. Спочатку це було схоже на всіх людей у /Usersдовіднику, та багато іншого. Тоді я подумав, що це робить зворотний пошук людей із "домашніми" каталогами /etc/password, або, можливо, тими, які були /var/empty- це здається правильним. Мені цікаво, що насправді відбувається …

2
Чи безпечно flock & exec в баші?
"Стандартний" фрагмент блокування, який я бачив, має щось на зразок ... ( flock -n 200 || exit 1; # do stuff ) 200&gt;program.lock Чи безпечно (тестування, здається, так) використовувати execв цей момент? Чи збереже підпроцес замок? ( flock -n 200 || exit 1; exec /usr/bin/python vendors-notcoolstuff.py ) 200&gt;program.lock Я смутно …
13 bash  lock 

4
помилка `ls` при видаленні каталогу
У мене відкриті дві снаряди. Перший знаходиться в каталозі А. У другому я видаляю каталог А, а потім відтворюю його. Коли я повертаюся до першої оболонки та ввожу ls, вихід: ls: cannot open directory .: Stale file handle Чому? Я думав, що перша оболонка (та, яка залишилася відкритою всередині неіснуючого …


2
Як змінні можуть використовувати "~" для cd'ing?
Як я можу використовувати змінну - $BASEу своєму компакт-диску. Я спробував наступне, але я отримав помилку $ cd ~/z/repo_1_ruby_193/ 23:23:57 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ BASE="~/z" 23:24:03 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ cd $BASE/repo_1_ruby_193 -bash: cd: ~/z/repo_1_ruby_193: No such file or directory 23:24:25 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193

5
Як я можу програмно визначити, чи відповідає ім'я файлу глобальним шаблоном оболонки?
Я хотів би сказати, чи буде рядок $stringузгоджений з глобальним шаблоном $pattern. $stringможе бути, а може не бути іменем існуючого файлу. Як я можу це зробити? Прийміть наступні формати для моїх вхідних рядків: string="/foo/bar" pattern1="/foo/*" pattern2="/foo/{bar,baz}" Я хотів би знайти Баш ідіому , який визначає , якщо $stringбуде супроводжуватися $pattern1, …
13 bash  wildcards 

3
Чому [az] зірочка відповідає номерам?
У мене є 3 каталоги на поточному шляху. $ls a_0db_data a_clean_0db_data a_clean_data $ls a_*_data a_0db_data: a_clean_0db_data: a_clean_data: $ls a_[a-z]*_data a_clean_0db_data: a_clean_data: Я очікував, що остання команда ls відповідає лише a_clean_data. Чому він також відповідав тому, що містить 0? bash --version GNU bash, version 4.2.24(1)-release (i686-pc-linux-gnu)

2
Bash: процес заміщення і stdin
Наступний рядок очевидний: echo "bla" | foo | bar Але чи роблять ті, що нижче? echo "bla" | bar &lt;(foo) echo "bla" | bar &lt; &lt;(foo) Хто з fooі barчитав "бла" зі stdin і чому? Я маю на увазі, що, звичайно, я можу просто зашифрувати це і перевірити, але я …

3
Bash автозаповнюється командою vim
В основному, автозавершення шляхів нещодавно припинило роботу при видачі vimкоманд, де шлях глибший, ніж два каталоги (він продовжує працювати так, як очікувалося, з іншими командами, такими як lsі cd). Наприклад, якщо я набираю, ls .config/btsync/btа потім натискаю TAB, він розгортається до ls .config/btsync/btsync.conf. Якщо я набираю, vim .config/btа потім натискаю …

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