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

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

1
Як ssh запускає команду?
Я використовую Bash і для клієнта, і для сервера. Під час виконання команди над SSH: ssh <host> 'declare' дає список змінних оболонок. ssh <host> 'mount' надає перелік точок кріплення. Однак, declareце Bash вбудований, в той час mountяк зовнішня команда. Як SSH знає, що запустити, якщо на сервері є вбудована оболонка …
15 shell  ssh 

5
Насправді програми "if" і "then"
Я читав, що крапка з комою використовується для розділення програм: $ echo 3; ls -la Це означає це if, thenі чи elseє тут окремі програми? $ if [ $VARIABLE == abcdef ] ; then echo yes ; else echo no ; fi Це питання не про крапки з комою.

1
Як відфільтрувати рядки командного виводу, які зустрічаються у текстовому файлі?
Скажімо, у нас є текстовий файл заборонених рядків forbidden.txt. Який короткий спосіб відфільтрувати всі рядки командного виводу, що існують у текстовому файлі? cat input.txt | exclude-forbidden-lines forbidden.txt | sort
15 shell  pipe  filter 


7
Чому існує така різниця у часі виконання ехо та кота?
Відповідаючи на це запитання, я змусив поставити ще одне запитання: я вважав, що наступні сценарії роблять те саме, а другий повинен бути набагато швидшим, тому що перший використовує catте, що потрібно відкривати файл знову і знову, але другий відкриває файл лише один раз, а потім просто повторює змінну: (Правильний код …

3
"Sudo: джерело: команда не знайдена"
$ source /etc/environment $ sudo source /etc/environment [sudo] password for t: sudo: source: command not found Здається, що інша оболонка, ніж bashзапущена для виконання, source /etc/environmentі така оболонка не має sourceвбудованого. Але оболонки обох моїх і кореневих обох bash. $ echo $SHELL /bin/bash Якщо в sudoіндексах використовується інша оболонка, чому …
15 shell  sudo 

3
Яка найкраща практика представляти булеве значення в сценарії оболонки?
Я знаю, що булеві значення є bash, але я ніколи не бачу, щоб вони використовувалися ніде. Я хочу написати обгортку для деякої часто шуканої інформації на моїй машині, наприклад, це конкретний USB-накопичувач, вставлений / встановлений. Що було б найкращою практикою для досягнення цього? Рядок? drive_xyz_available=true Число (0 для істинного, ≠ …


5
Як видалити пробіли зі змінних оболонок?
У командному рядку я зробив наступне: $ text="name with space" $ echo $text name with space Я намагаюся використовувати tr -d ' 'для видалення пробілів і отримав результат: namewithspace Я спробував кілька речей, таких як: text=echo $text | tr -d ' ' Досі не пощастило, сподіваємось, вам чудовий народ може …
15 shell  command-line  tr 

2
Помилка синтаксису біля несподіваного маркера `('
Коли я використовую код нижче в терміналі SSH для CentOS, він працює добре: paste <(printf "%s\n" "TOP") Але якщо я поміщую той самий код рядка в скрипт оболонки (test.sh) і запускаю скрипт оболонки з терміналу, він видає помилку, як це ./test.sh: line 30: syntax error near unexpected token (' ./test.sh: …
15 shell 

2
Дивна різниця між pwd та / bin / pwd
Я додав символьне посилання до поточного каталогу з ln -s . aa. Якщо я виконую cd aa, а після цього виконую , pwdвідповідь є /home/sim/aa. Але якщо я виконую /bin/pwdйого, він друкує /home/sim(поточний каталог не змінився). Звідки ця різниця?
15 shell  symlink  pwd 

5
Отримайте найновіший каталог (не останній файл)
Моя папка parentмає такий вміст: A.Folder B.Folder C.File У ній є як папки, так і файли. B.Folderновіший. Тепер я просто хочу отримати B.Folder, як я міг цього досягти? Я спробував це, ls -ltr ./parent | grep '^d' | tail -1 але це дає мені drwxrwxr-x 2 user user 4096 Jun …
15 shell  files  ls  timestamps 

5
скопіювати найменші файли спочатку?
У мене є великий каталог, що містить підкаталоги та файли, які я хочу копіювати рекурсивно. Чи є спосіб сказати, cpщо він повинен виконувати операцію копіювання в порядку розміру файлу, щоб найменші файли були скопійовані спочатку?
15 shell  cp  file-copy  size 

5
Виконайте команду, коли система не працює та коли знову активна
Я хочу запустити команду, коли користувач стає неактивним (система не працює). Наприклад: echo "You started to be inactive." Крім того, коли користувач знову стає активним (система вже не працює): echo "You started to be active, again." Мені потрібен сценарій оболонки, який це зробить. Чи можливо це без таймера / інтервалу? …
15 linux  bash  shell 

2
Чи є спосіб використовувати xargs через трубу?
Я намагаюся автоматично перетворити файли flac, переміщені в папку, в mp3 в іншу папку. Мій поточний рядок коду: inotifywait -m -r -q -e moved_to --format "'%w%f'" ~/test | xargs -I x flac -cd x - | lame -b 320 - /media/1tb/x.mp3 Щоб пояснити, як це працює до цього часу, inotifywait …
15 shell  pipe  xargs  inotify 

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