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

Оболонка - це інтерфейс командного рядка Unix. Ви можете вводити команди в оболонці інтерактивно або писати сценарії для автоматизації завдань. Використовуйте цей тег для питань, що стосуються / bin / sh та найбільш сумісних оболонок (ash, bash, ksh, zsh,…). Для скриптів оболонок з помилками перевірте їх на http://shellcheck.net перед публікацією тут.


13
Який найбільш ресурсно ефективний спосіб підрахувати кількість файлів у каталозі?
CentOS 5.9 Днями я зіткнувся з проблемою, де в каталозі було багато файлів. Щоб порахувати, я побігls -l /foo/foo2/ | wc -l Виявляється, в одному каталозі було понад 1 мільйон файлів (довга історія - виправлення першопричини). Моє запитання: чи є більш швидкий спосіб зробити підрахунок? Який був би найефективніший спосіб …
55 bash  shell  directory  ls 

5
Додавання поточної дати від змінної до імені файлу
Я намагаюся додати поточну дату до кінця імені файлу так: TheFile.log.2012-02-11 Ось що я маю досі: set today = 'date +%Y' mkdir -p The_Logs & find . -name The_Logs -atime -1 -type d -exec mv \{} "The_Logs_+$today" \; & Однак все, що я отримую, - це ім'я файлу, і він …
55 bash  shell  rename  date 

10
Як rsync файли між двома пультами?
Я хотів би перенести файли між двома віддаленими хостами, використовуючи локальну оболонку, але, здається, rsync не підтримує синхронізацію, якщо два віддалених файли вказані так: $ rsync -vuar host1:/var/www host2:/var/www The source and destination cannot both be remote. Які ще обхідні шляхи / команди я можу використати для досягнення подібних результатів?
54 shell  ssh  rsync 


8
Зробіть `rm` перемістити у смітник
Чи існує скрипт / додаток Linux, який замість видалення файлів переміщує їх у спеціальне місце "сміття"? Я хотів би це зробити заміною rm(можливо, навіть згладжування останнього; для цього є плюси і мінуси). Під "сміттям" я маю на увазі спеціальну папку. Сингл mv $* ~/.trash- це перший крок, але в ідеалі …
54 shell  rm 

2
Еквівалент командного рядка "менше" "хвоста -f"
Я хотів би відкрити файл, використовуючи менше, і зробити його автоматично прокручувати файл, подібний до tail -f. Я знаю, що я можу зробити less file, а потім натиснути Shift-Fвперед назавжди; як tail -f. Мені це потрібно, lessтому що він надає --raw-control-charsпрапор, що необхідно, тому що мій вклад барвистий.
54 shell  less  tail 

3
Як я можу зробити змінні середовища "експортованими" в сценарій оболонки?
У мене є кілька облікових записів Amazon EC2 і хочу швидко перемикати змінні, наприклад $EC2_HOME, за допомогою скрипту. У мене встановлений такий сценарій оболонки: #!/bin/sh export EC2_HOME=/home/me/.ec2 echo $EC2_HOME Коли я запускаю сценарій, я знаю, що EC2_HOMEце встановлено, але я думав, що за допомогою exportцього сценарію змінна палиця після завершення …

4
Чому tilde (~) не розширюється всередині подвійних лапок?
Відповідно до цієї відповіді та мого власного розуміння, тильда поширюється на домашній каталог: $ echo ~ /home/braiam Тепер, коли я хочу, щоб розширення оболонки працювало, тобто використовуючи назви змінних, таких як $FOO, і не порушувати належних несподіваних символів, таких пробілів тощо, слід використовувати подвійні лапки ": $ FOO="some string with …
54 shell 


4
Чи завжди зірка Баша * wildcard створює (зростаючий) відсортований список?
У мене є каталог, заповнений файлами з іменами, наприклад, logXXде XX - це двозначний шрифтовий номер з двома символами з великим написом, наприклад: log00 log01 log02 ... log0A log0B log0C ... log4E log4F log50 ... Зазвичай буде менше, ніж скажімо, 20 або 30 файлів. Дата та час у моїй конкретній …
53 bash  shell  wildcards 

6
Чи є якась причина, щоб shebang вказував на / bin / sh, а не на / bin / bash?
У більшості сценаріїв оболонки я бачив (крім тих , що я не писав сам), я помітив , що притон встановлений #!/bin/sh. Це не дуже мене дивує на старих сценаріях, але воно є і на досить нових сценаріях. Чи є підстави для переваги /bin/shбільш /bin/bash, так як bashце в значній мірі …
53 bash  shell  history  shebang 


7
Визначення часу в сценарії оболонки
У мене є сценарій оболонки, який читається зі стандартного вводу . У рідкісних обставинах ніхто не буде готовий надати вхід, і сценарій повинен вимкнути час . У разі очікування сценарій повинен виконати деякий код очищення. Який найкращий спосіб зробити це? Цей скрипт повинен бути дуже портативним , включаючи системи Unix …
53 shell  signals  timeout 

2
Заміна лише конкретних змінних envsubst
Я намагаюся виконувати заміну змінних оточуючих envsubst, але хочу замінити лише певні змінні. У документах я маю змогу сказати envsubstзамінити лише певні змінні, але я не можу це зробити. Наприклад, якщо у мене є файл, що містить: VAR_1=${VAR_1} VAR_2=${VAR_2} як я повинен виконати envsubstтак, щоб він заміняв лише посилання на …

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