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

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

1
Чому я не можу надрукувати змінну, яку я бачу у висновку env?
Мені цікаво встановити змінні середовища для одного екземпляра оболонки з іншого. Тому я вирішив зробити кілька досліджень. Після прочитання ряду на питання про це я вирішив перевірити його. Я породив два снаряди А і В (PID 420), обидва бігали zsh. З оболонки AI вибігли наступні. sudo gdb -p 420 (gdb) …

1
Повернення каретки з командою echo
Я практикував команду ехо з опцією \r(повернення каретки), як показано нижче. echo -e "This is \r my college" вихід: my college але коли я додаю ще одне слово раніше, \rяк нижче echo -e "This is the \r my college" Тоді це дає мені вихід: my college the Ще один приклад …
9 shell  echo  newlines 


3
Що це за змінна форма = $ (…)
Що означає таке: basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") Мене особливо цікавить ця частина: varible=$(...) Я знаю, що дужки використовуються для виконання підпроцесу, але що робити, якщо вони використовуються разом з $?
9 shell 



4
Програма Bash не виконується, якщо перенаправлення не вдалося
В основному я зауважую, що якщо команда, що використовує переадресацію, не вдасться, будь-які програми, запущені до цього, не запускаються. Наприклад, ця програма відкриває файл "a" і записує 50 байт у файл "a". Однак, запустивши цю команду з перенаправленням у файл з недостатніми дозволами (~ root / log), не змінюється розмір …

1
Що насправді роблять `\ time`,` t \ ime` та `\ cd`? (весело з накидами в оболонках)
Обговорюючи відмінності між /usr/bin/timeвбудованою оболонкою (bash та zsh) time, хтось згадав, що можна скористатися \timeяк скорочення /usr/bin/time. Спочатку це здавалося гарним невинним ярликом, але потім виникли деякі запитання: Чому t\imeтеж працює? Чому \cdзмінюється каталог, навіть якщо though /usr/bin/cdне? Так очевидно, що \fooне рівнозначно $(which foo). Питання зараз: Чи спостережувана поведінка …

5
Як згрупувати рядки у файлі по два?
У мене є такий текстовий файл: a b c d e f g Як можна згрупувати ці рядки, щоб отримати такий вихід: a-b b-c c-d d-e e-f f-g Я маю це робити в оболонці (sh, csh, bash). Я знайшов це: cat file | xargs -n2 але останній елемент першої групи …

2
Новий псевдонім не доступний після;
До цього часу я думав, що крапка з комою в оболонці має (якось) те саме значення, що і розрив рядка. Тож я здивувався тому, що alias <name>=<replacement text>; <name> <name>невідомо, поки це відомо в наступному рядку. csh, tcsh, sh, kshІ bashповодяться так само. Принаймні для cshцього не має значення, чи …
9 shell  alias 

3
Як надрукувати контрольні символи за допомогою послідовностей втечі?
Я визначив колір червоний за допомогою tput red=$(tput setaf 1) розфарбувати попередження в моїй програмі. Це добре працює: printf '%sfail\n' "$red" # prints 'fail' in red Але одного разу я хотів би роздрукувати послідовність втечі як є, щось на кшталт: \ E [31mfail Як би я це зробив? Я знаю, …

3
Новий рядок у bash змінних
Я намагаюся зберігати кілька рядків у змінній bash, але, схоже, це не працює. Наприклад, якщо я перелічу /binодин файл на рядок і зберігаю його $LS, то я передаю $LSяк stdin до wc, він завжди повертає 1: $ ls -1 /bin | wc -l 134 $ LS=$(ls -1 /bin); wc -l …
9 bash  shell  quoting 

4
Переміщення файлів за датою в інший каталог за допомогою CLI
У мене є велика кількість фотографій зі старого жорсткого диска, які я намагаюся організувати. Якщо я запускаю ls -l, я помічаю, що всі ці файли мають дату створення 2012 року або раніше. В ідеалі я хотів би перенести їх на другий жорсткий диск мого комп'ютера, який не встановлений для автоматичного …

1
Чому не існує нового рядка в кінці цитування нижньої частини і передачі результатів повторюється?
Коли я роблю ls | grep pngвихід grep: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (ім'я файлу, новий рядок, ім'я файлу, новий рядок) потім, echo $(ls | grep png)виводи: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (ім'я файлу, пробіл від розбиття слів, назва файлу, новий рядок !! від відлуння !!) Це все нормально, але коли я це роблю, щоб запобігти …


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