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

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

3
Як явно і безпечно змусити використовувати вбудовану команду в bash
Існує аналогічне запитання, яке стосується сценарію "обгортання", де ви хочете замінити, наприклад, cdкоманду, яка викликає вбудований cd. Однак, зважаючи на оболонку та інші та знаючи, що баш імпортує функції з навколишнього середовища, я зробив кілька тестів, і я не можу знайти спосіб безпечно викликати вбудований cdз мого сценарію. Розглянемо це …
19 bash  security 


1
Як було виявлено вразливість Shellshock Bash?
Оскільки ця помилка впливає на так багато платформ, ми могли б дізнатися щось із процесу, за допомогою якого була виявлена ​​ця вразливість: це був момент εὕρηκα (eureka) чи результат перевірки безпеки? Оскільки ми знаємо, що Стефан знайшов помилку Shellshock, і інші, можливо, також знають процес, нас би зацікавила історія, як …

3
Вимкнути заповнення вкладки в Bash для деякого каталогу, який містить велику кількість файлів?
Я працюю з великою кількістю файлів, які я зберігаю в каталозі. Кожен раз, коли я заходжу в цей каталог і випадково натискаю Tabдвічі, це показує файли, що відповідають шаблону, занадто багато часу (це може бути більше хвилин), і я дуже роздратований такою поведінкою. Наприклад, структура мого каталогу: my-project/ ├── docs/ …

5
Чому мене іноді в терміналі кілька разів запитують ">"?
Добре, коли я запускаю певні команди неправильно, (неправильно написані тощо), термінал виводить так: >замість computername:workingfolder username$, а коли я набираю вводити, йде так: > > > Це було б, якби я натиснув Enter 3 рази.

5
Чи є спосіб сказати sudo встановити моє ім'я користувача як власника файлів, створених замість root?
Якщо я це зробити sudo cp /etc/foo.txt ~/foo.txt, новий файл створюється з rootвласником. Зараз я не бачу нічого іншого, крім використання останніх двох команд ( lsдля уточнення випадку використання): belmin@server1$ ls /etc/foo.txt > -rw------- 1 root root 3848 Mar 6 20:35 /etc/foo.txt > belmin@server1$ sudo cp /etc/foo.txt ~/foo.txt belmin@server1$ sudo …
19 bash  files  sudo 

4
Як призначити значення, що містять простір, змінним у bash, використовуючи eval
Я хочу динамічно призначити значення змінним за допомогою eval. Наведений наступний фіктивний приклад: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Однак, коли значення змінної містить пробіли, evalповертає помилку, навіть якщо $var_valueвона ставиться між подвійними лапками: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : command not found Будь-який спосіб …
19 bash  shell  quoting 

3
питання про читання (або трубу)
Я дотримувався дивної поведінки readarrayкоманди. У man bashговорить: readarray Read lines from the standard input into the indexed array variable array але ці сценарії не працюють (масив порожній): unset arr; (echo a; echo b; echo c) | readarray arr; echo ${#arr[@]} unset arr; cat /etc/passwd | readarray arr; echo ${#arr[@]} …
19 bash  pipe 

4
Що означає послідовність bash '\ 033 [999D' і де це пояснено?
Я натрапив на такі послідовності bash, як \033[999Dі \033[2K\rякі використовуються для того, щоб зробити певні маніпуляції над роздруківкою на терміналі. Але що означають ці послідовності? Де я можу знайти список / резюме в Інтернеті, щоб допомогти мені з’ясувати значення цих послідовностей?
19 bash  terminal 

9
Перевірте, чи встановлено кілька змінних
Я хотів би переконатися, що в певний момент сценарію після sourceфайлу конфігурації встановлюється кілька змінних і, якщо їх немає, припинити виконання, повідомивши користувачеві про відсутню змінну. я намагався for var in $one $two $three ; do ... але якщо, наприклад $two, не встановлено, цикл ніколи не виконується $two. Наступне, що …

4
Шукайте попередню команду з тим самим префіксом, коли я натискаю вгору під запитом оболонки
Виходячи зі світу FreeBSD, я хочу змусити термінал Linux вести себе як FreeBSD, особливо версію 9.1, в основному, коли ви набираєте cdтермінал і натискаєте стрілку «вгору», ви можете переглядати всі команди в історії, починаючи з cdчого змушує вас здобувати багато часу. Я не знаю, як увімкнути цю функцію в Linux …

5
Труба призначає змінну
Для простоти я хотів би зробити: echo cart | assign spo; echo $spo Вихід: візок Чи існує така assignпрограма? Мені відомі всі способи зробити це за допомогою заміни.
19 bash  variable 

3
rsync певні файли, крім решти, ігноруючи .svn / каталог, рекурсивно
Я використовую rsyncдля копіювання деяких файлів із спільного доступу до іншого. Рекурсивно мені потрібно: Видаліть файли за адресою, які були видалені з оригіналу Тільки синхронізація .phpта .jsфайли Виключіть всі інші типи файлів Не видаляйте .svn/каталоги за призначенням Якщо я використовую це: rsync -zavC --delete --include='*.php' --include='*.js' --exclude="*" \ /origin /destination …

8
Уникаючи зайнятого очікування в баш, без команди сну
Я знаю, що можу чекати, коли умова стане справжньою в баші, роблячи: while true; do test_condition && break sleep 1 done Але це створює 1 підпроцес при кожній ітерації (сон). Я міг би їх уникнути, роблячи: while true; do test_condition && break done Але він використовує багато процесора (зайнятий в …

4
bash -e виходить, коли let або expr оцінюється на 0
У мене є bash-скрипт, який встановлює -e, щоб сценарій вийшов з будь-якого статусу виходу! = 0. Я намагаюся виконати деяку основну арифметику оболонки, присвоєну змінним, а іноді вираз дорівнює 0, що призводить до того, що статус виходу команди let або expr буде "1". Ось приклад: #!/bin/bash -ex echo "Test 1" …

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