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

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

3
Чому "cat {foo}" не виводить foo, а "cat {foo, bar}" робить?
Я намагався об'єднати текстові файли у підпапки і спробував: cat ./{mainfolder1,mainfolder2,mainfolder3}/{subfolder1}/book.txt > out$var Однак це нічого не повернуло. Отже, спробував додати неіснуючу "підпапку2" cat ./{mainfolder1,mainfolder2,mainfolder3}/{subfolder1,subfolder2}/book.txt > out$var І цього разу це вийшло, успішно об'єднавши файли. Чому це відбувається?

3
Розширення діаграми Bash після нахилу контуру
Я намагаюся скопіювати файл з іншим іменем у той самий каталог, використовуючи розширення дужок. Я використовую bash 4.4.18. Ось що я зробив: cp ~/some/dir/{my-file-to-rename.bin, new-name-of-file.bin} але я отримую цю помилку: cp: cannot stat '/home/xyz/some/dir/{my-file-to-rename.bin,': No such file or directory Навіть просте розширення дужок, як це, дає мені таку ж помилку: …


4
Чи підтримує bash підтримку використання покажчиків?
Просте запитання. Чи має bash оболонка підтримку використання покажчиків під час написання сценарію оболонки? Мені знайоме позначення розширення ${var[@]}при ітерації над масивом $var, але незрозуміло, що це використання покажчиків для ітерації над індексами масиву. Чи надає bash доступ до адрес пам'яті, як і інші мови? Якщо bash не підтримує використання …
12 bash 


4
bash: безпечне процедурне використання знаходження у select
Враховуючи ці назви файлів: $ ls -1 file file name otherfile bash сама по собі прекрасно справляється із вбудованим пробілом: $ for file in *; do echo "$file"; done file file name otherfile $ select file in *; do echo "$file"; done 1) file 2) file name 3) otherfile #? …

1
Як скопіювати всі файли у папку, виключаючи записані файли?
Я завантажую декілька файлів у папку downloadingчерез HTTPie . Сценарій bash спрямований на обробку завантажених файлів, і я намагався скопіювати завантажені файли в іншу папку як find /folder/downloading -type f -exec mv '{}' /folder/downloaded \; але це також копіює файли, які ще не закінчені. Я намагався обмежити передачу на старіші …


3
Чи дійсний синтаксис "$ {PS1-}" і чим він відрізняється від простого "$ PS1"?
Я дивлюся на сценарій, який містить: if [ "${PS1-}" ]; then Цей трейлінг -помиляється на мене трохи тому, що він не здається стандартним синтаксисом Посікса чи Баша. Це якийсь таємничий синтаксис, який існує назавжди, чи це друкарська помилка? Будь-які посилання на стандарти / документи будуть вдячні. Зазвичай я б це …


3
Як зберегти / dev / stdout цільове місце розташування у скрипті bash?
У мене є певний скрипт bash, який хоче зберегти оригінальне /dev/stdoutрозташування перед тим, як замінити дескриптор 1-го файлу іншим розташуванням. Тож, природно, я написав щось подібне old_stdout=$(readlink -f /dev/stdout) І не вийшло. Дуже швидко я розумію, в чому проблема: test@ubuntu:~$ echo $(readlink -f /dev/stdout) /proc/5175/fd/pipe:[31764] test@ubuntu:~$ readlink -f /dev/stdout /dev/pts/18 …

1
Бачите розширення змінних Bash для налагодження?
Чи є якісь інструменти / хитрощі для розширення змінних, щоб полегшити читання bash-коду? Наприклад, він перетворив би наступне: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} до: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file Я перетворюю BASH-код на Python і читаю синтаксис BASH - це дуже нудно.

4
Використовуйте випадок / практичний приклад для вбудованого файлу Bash '
Розглянемо це з документації Bash 'buildin exec: exec замінює оболонку без створення нового процесу Наведіть, будь ласка, приклад використання / практичний приклад. Я не розумію, як це має сенс. Я гуглив і дізнався про переадресацію вводу / виводу . Ви можете пояснити це краще?

4
Список файлів, які відповідають шаблону, але ігнорують файли, які відповідають іншому шаблону?
Скажімо, у мене є каталог з файлами a1, a2, a3, b1, b2, b3. Я хочу лише відповідати файлам, які починаються, aале не містять 3. Я спробував, ls -I "*3" *a*але він повертається a1 a2 a3, хоча я не хочу, щоб він відповідав a3. Це можливо за допомогою ls?
12 linux  bash  ls  patterns 


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