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

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


1
Чому / etc / shadow скорочує пароль, який я встановив за допомогою команди: useradd -p?
[root@P-dude dude]# useradd -p $6$Ic2PVlwi$2nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0 bwong20 [root@P-dude dude]# cat /etc/shadow | grep pswayze pswayze:nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0:16924:0:99999:7::: Я не впевнений, чому система видаляє перші чотирнадцять символів із мого зашифрованого пароля. Пароль у моєму /etc/shadowфайлі коротший, ніж те, що я наводив як аргументuseradd -p
21 shell  useradd 

2
Чи є спосіб POSIX встановити нульовий аргумент цільової програми?
У bashви можете використовувати exec -aі zshви можете альтернативно встановити ARGV0для виконання програми з певним нульовим аргументом , але є також POSIX спосіб зробити це? Як було запропоновано в цьому коментарі, ви можете створити (тимчасове) символічне посилання, щоб досягти цього, але таким чином я не зміг встановити нове значення нульового …

2
Перевірка значення змінних середовища в Makefile
У мене є ціль Makefile, в якій я повинен перевірити значення змінної середовища. Але я не знаю точного синтаксису цього. Намагався важко, але не можу його знайти. Будь-яка допомога вдячна. Назва змінної середовища: TEST, її значення: "TRUE" test_target: ifeq ($(TEST),"TRUE") echo "Do something" endif Я отримую таку помилку: /bin/sh: -c: …
21 shell  make 

3
Чи безпечно вводити іншу команду в STDIN, коли попередня команда пише в STDOUT?
Можливо, на це відповіли раніше, я б вітав посилання на іншу відповідь ... Якщо я виконую команду shell (у bashоболонці), наприклад: make Тоді, в той час як вихід з makeпрокрутки проходить STDOUTз makeкоманди, якщо я набираю make checkі натискаю enterдо того, як перша команда буде закінчена, коли makeкоманда остаточно завершиться, …
21 bash  shell  stdout  stdin 

6
Створення випадкового пароля; чому це не портативний?
Я хочу створити випадковий пароль, і роблю це так: </dev/urandom tr -dc [:print:] | head -c 64 На моєму ноутбуці, на якому працює Ubuntu, це створює лише друковані символи, як було призначено. Але коли я заходжу на сервер своєї школи, який запускає Red Hat Enterprise Linux, і запускаю його там, …

6
Чи існує інший простий спосіб додати рядок до кінця файлу, крім ">>"?
Останнім часом я повторюю короткі пропозиції до tree_holeфайлу. Я використовував echo 'something' >> tree_holeцю роботу. Але мене завжди хвилювало, що робити, якщо >замість цього я помиляюся >>, оскільки це роблю часто. Тому я зробив свій власний функціональний баш в bashrc: function th { echo "$1" >> /Users/zen1/zen/pythonstudy/tree_hole; } export -f …

5
скрипт bash [x $ 1 = x]
Я читаю баш сценарій, я не розумію, що там відбувається. #!/bin/sh [ x$1 = x ] Що відбувається на другому рядку і що [ x$1 = x ] означає?
21 bash  shell 

4
Автоматично визначати, коли я вводив "vi", але означав "cd"?
Близько 5 разів на день я набираю "vi", коли я мав на увазі "cd", і, нарешті, відкриваю каталог у vi. Це змушує мене горіхів. Здається, що має бути спосіб виявити, коли я набираю "vi + каталог" і автоматично змінюю його на "cd + каталог". Думки?
21 bash  shell  alias  cd-command 

6
Отримання відносних зв’язків між двома шляхами
Скажіть, у мене два шляхи: <source_path>і <target_path>. Я хотів би мою оболонку (ЗШ) , щоб автоматично дізнатися, якщо є спосіб представлення <target_path>від <source_path>як відносний шлях. Наприклад, припустимо <source_path> є /foo/bar/something <target_path> є /foo/hello/world Результат був би ../../hello/world Навіщо мені це потрібно: Я повинен був би створити символічне посилання з <source_path>для …
21 shell  files  zsh  symlink 

4
розділити довгу лінію на роздільнику
Яку команду я можу використовувати для поділу вводу таким чином: foo:bar:baz:quux в це? foo bar baz quux Я намагаюся розібратися з cutкомандою, але, здається, вона працює лише з фіксованою кількістю введення, як-от "перші 1000 символів" або "перші 7 полів". Мені потрібно працювати з довільно довгим введенням.

1
Чому цей файл не відображається?
За findдопомогою grepможна знайти файли, які відповідають шаблону: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Однак, використовуючи findодин файл, перший файл не знайдено: # find . -name error* ./error_log ./includes/classes/error_log Чому файл не findзнаходить, errors.htmlколи не використовується grep? Як findвикористовується також для показу цього файлу?

1
Займаю тривалий час у невеликому каталозі
Запускаючи Ubuntu, я відкриваю термінал і роблю sudo bash cd / ls | head -n 1000 І передбачувано повертається близько 20 каталогів. Однак, якщо я роблю ls, і не вкладаю його ні в що, я просто зависаю там, поки не вб'ю його з іншого терміналу. Що може статися? Редагувати: > …
21 shell  command-line  files  ls 

4
Як зрозуміти труби
Коли я просто використовував трубу в баші, я більше про це не думав. Але коли я читаю якийсь приклад коду С, використовуючи системну трубну виклик () разом з fork (), мені цікаво, як зрозуміти труби, включаючи як анонімні, так і названі труби. Часто чути, що "все в Linux / Unix …


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