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

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

3
"Варіалізуйте" амперсанд (фоновий процес)
Я хочу знати, чи є спосіб помістити ampersand у змінну і все ж використовувати її для надсилання процесу на задній план. Це працює: BCKGRND=yes if [ "$BCKGRND" = "yes" ]; then sleep 5 & else sleep 5 fi Але хіба не було б круто виконати ці п'ять рядків лише одним? …


3
Як друкувати рядки, розділені TAB в bash?
Я намагаюся надрукувати два рядки, розділені TAB. Я намагався: echo -e 'foo\tbar' printf '%s\t%s\n' foo bar Вони друкують: foo bar Де пробіл між двома насправді є 5 пробілами (відповідно до вибору виводу за допомогою миші в Putty). Я також намагався використовувати CTRL + V і натискати TAB під час введення …

2
Будуйте команду динамічно
Я працюю над сценарієм і мені потрібно будувати tarкоманду динамічно. Ось два приклади, щоб проілюструвати те, що я намагаюся зробити: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar "`printf -- '%s …


6
Bash сортувати масив відповідно до довжини елементів?
Враховуючи масив рядків, я хотів би сортувати масив відповідно до довжини кожного елемента. Наприклад... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) Сортувати за ... "the longest string in the list" "also a medium string" "medium string" "middle …


2
Видаліть файли без рядка в імені
Я хочу видалити файли, які не мають рядка "999" (без символу ""). Я намагався: grep -vlr 999 . | xargs -0 rm -f -- find . -print0 | grep --null-data -v 999 | xargs -0 rm -- Але жоден з них не працює. Я використовую macOS Sierra, з bash: 3.2.57.
9 bash  osx  filenames  rm 


3
Як захопити першу IP-адресу з команди ifconfig?
Як захопити першу IP-адресу, що приходить від ifconfigкоманди? ifconfig -a enw178032: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 100.14.22.12 netmask 255.255.0.0 broadcast 100.14.255.255 inet6 fe80::250:56ff:fe9c:158a prefixlen 64 scopeid 0x20<link> ether 00:10:56:9c:65:8a txqueuelen 1000 (Ethernet) RX packets 26846250 bytes 12068811576 (11.2 GiB) RX errors 0 dropped 58671 overruns 0 frame 0 TX packets 3368855 …
9 linux  bash  awk  sed  ifconfig 

3
розширення оболонки (A | B) у назви файлів?
Чи можливо розширити orвибір в оболонці, читаючи файл, наприклад. Я маю на увазі під цим те, що, наприклад, grepпідтримує синтаксис, подібний (A|B)до A або B у файлі. Аналогічно, якщо у мене є ці файли: file1.txt file2.txt file3.txt file4.txt file5.txt Я міг би зробити cat file{1..5}.txtв bash, як він розширює діапазон. …

1
відобразити STDOUT перед STDERR?
Я новачок у баші, і я не можу за все життя зрозуміти, як запустити певну команду, припустимо ./fffі надрукувати регулярні stdouts перед stderr (я сам плутаюся в сенсі) наприклад $ printf "I am a\ndrill\n" > fff; $ cat fff nofile fff nofile fff I am a drill cat: nofile: No …

7
Навпроти команди "source"
Я використовую sourceкоманду в моєму скрипті bash для того, щоб прочитати / надрукувати значення змінних more linuxmachines_mount_point.txt export linuxmachine01="sdb sdc sdf sdd sde sdg" export linuxmachine02="sde sdd sdb sdf sdc" export linuxmachine03="sdb sdd sdc sde sdf" export linuxmachine06="sdb sde sdf sdd" source linuxmachines_mount_point.txt echo $linuxmachine01 sdb sdc sdf sdd sde …

10
Bash: витягніть один з чотирьох розділів адреси IPv4
Ми можемо використовувати синтаксис ${var##pattern}і ${var%%pattern}витягнути останній і перший розділ адреси IPv4: IP=109.96.77.15 echo IP: $IP echo 'Extract the first section using ${var%%pattern}: ' ${IP%%.*} echo 'Extract the last section using ${var##pattern}: ' ${IP##*.} Як ми можемо витягти другий чи третій розділ адреси IPv4, використовуючи розширення параметра? Ось моє рішення: …

2
Як зробити так, щоб читання та запис одного і того ж файлу в одному трубопроводі завжди «провалювався»?
Скажіть, у мене є такий сценарій: #!/bin/bash for i in $(seq 1000) do cp /etc/passwd tmp cat tmp | head -1 | head -1 | head -1 > tmp #this is the key line cat tmp done У ключовому рядку я читаю і записую той самий файл, tmpякий іноді виходить …

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