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

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

4
dirname та basename vs розширення параметра
Чи є об’єктивні причини віддати перевагу одній формі іншій? Продуктивність, надійність, портативність? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" Виробляє: /some/long/path/to /some/long/path/to a_file a_file (v1 використовує розширення параметра оболонки, v2 використовує зовнішні бінарні файли.)

3
є труба ls така сама, як ls -1?
lsповертає висновок у декількох стовпцях, тоді як ls|catповертає байт-ідентичний вихід з ls -1для каталогів, які я пробував. Досі бачу ls -1відповіді, як ls -1|wc -l. Чи є колись причина віддати перевагу ls -1? Чому ...|catзмінюється вихід ls?
19 shell  ls 

1
echo [9876543210] відображає 1 4 5 6… чому?
Поясніть, будь ласка, чому відображається 1 4 5 6 для останніх чотирьох ехо-заяв? Я потрапив це випадково один раз, але мені зараз цікаво, чому така поведінка трапляється. Ці твердження працюють, як і очікувалося (для мене). $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] Ці ехо-заяви постійно …

7
Випадкові кольори та жарти в оболонці / терміналі
Я побачив людину, яка, використовуючи їх термінал, видає жарт і змінила кольори та сміялася з користувача. Це щось говорило по лінії протікання кольорів у консолі з (року). Я не пам’ятаю, що це було, але я хотів би використати це, тому що Kubuntu Konsole стає дуже нудним після довгих годин використання, …


4
Чому деякі вбудовані оболонки `read` не вдається прочитати весь рядок з файлу в` / proc`?
У деяких Bourne-подібні оболонок, то readвбудований не може прочитати весь рядок з файлу /proc(команда нижче повинні бути запущені в zsh, замініть $=shellз $shellіншими оболонками): $ for shell in bash dash ksh mksh yash zsh schily-sh heirloom-sh "busybox sh"; do printf '[%s]\n' "$shell" $=shell -c 'IFS= read x </proc/sys/fs/file-max; echo "$x"' …
19 linux  shell  proc  read 


5
Команди для ознайомлення з незнайомою системою [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередилось на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Ви увійдете в незнайому систему UNIX або Linux (як root). За якими командами ти працюєш, …

5
Навіщо використовувати diff / patch, коли легше просто використовувати cp
diff -u file1.txt file2.txt > patchfile створює файл виправлення, який складається з інструкції для patchперетворення file1.txt таким чином, як файл2.txt Це не можна зробити cpзамість команди? Я можу уявити, що це корисно, коли файл занадто великий і його потрібно перенести через мережу, де такий підхід може зберегти пропускну здатність. Чи …
19 shell  cp  diff  patch 

3
Коли я проходжу через симпосилання, чому pwd показує символьне посилання замість реального шляху?
Я створив м'яке посилання ( ln -s 1 2) до каталогу, який знаходиться всередині testкаталогу, і відкрив м'яке посилання ( cd 2) та показав поточний шлях за допомогою pwd. Відображений шлях був ~/test/2і ні ~/test/1. У ОС такою, як Windows, це ярлик приводить нас до реального каталогу. Мене трохи не …

4
Як я можу реалізувати круговий потік даних між взаємопов'язаними командами?
Я знаю два типи, як команди можна з'єднати між собою: за допомогою Pipe (введення std-виводу на std-вхід наступної команди). за допомогою трійника (зробіть висновок на багато виходів). Я не знаю, чи все це можливо, тому я малюю гіпотетичний тип зв'язку: Як можна було реалізувати круговий потік даних серед таких команд, …

9
Чи корисно використовувати "while true" для збереження сценарію в живих?
Я просто стрибаю в unix з іншого світу і хотів дізнатися, чи є while true do /someperlscript.pl done Сам скрипт perl внутрішньо має дисертацію папок / файлів, яка виконується при зміні файлів у цільовому місці. Це ( while true) гарна ідея? Якщо ні, то який переважний надійний підхід? ТІА EDIT: …
19 shell  perl 

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

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 

18
Як читати IP-адресу назад?
Якщо у нас є цей рядок ( IP-адреса ):192.168.1.1 Як я можу отримати ( DNS-форму зворотного запису ) з цього рядка, щоб він відображався як 1.1.168.192.in-addr.arpaсценарій оболонки?

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