Вопросы с тегом «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: line …
21 shell  make 

3
Безопасно ли вводить другую команду в STDIN, когда предыдущая команда записывает в STDOUT?
Возможно, на это уже отвечали ранее, я бы приветствовал ссылку на другой ответ ... Если я выполню команду оболочки (в 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чтобы сделать эту работу. Но я всегда беспокоился о том, что если я неправильно введу >вместо >>, так как я делал это часто. Поэтому я создал собственный глобальный функционал bash в bashrc: function th { echo "$1" >> …

5
скрипт bash [x $ 1 = x]
Я читаю скрипт bash Я не понимаю, что там происходит. #!/bin/sh [ x$1 = x ] Что происходит на второй линии и что [ x$1 = x ] значит?
21 bash  shell 

4
Автоматически определять, когда я набрал «vi», но имел в виду «cd»?
Примерно 5 раз в день я набираю «vi», когда имею в виду «cd», и в итоге открываю каталог в vi. Это делает меня орехами. Кажется, должен быть способ обнаружить, когда я набираю «vi + directory», и автоматически менять его на «cd + directory». Мысли?
21 bash  shell  alias  cd-command 

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

4
разделить длинную строку на разделитель
Какую команду я могу использовать для разделения ввода следующим образом: foo:bar:baz:quux в это? foo bar baz quux Я пытаюсь выяснить cutкоманду, но, кажется, она работает только с фиксированным количеством ввода, например, «первые 1000 символов» или «первые 7 полей». Мне нужно работать с произвольно длинным вводом.

1
Почему «find» не показывает этот файл?
Используя 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 и не направляю его во что-либо, ls просто висит там, пока я не убью его из другого терминала. Что может происходить? …
21 shell  command-line  files  ls 

4
Как понимать трубы
Когда я просто использовал pipe в bash, я больше не думал об этом. Но когда я читаю некоторый пример кода на языке C, используя системный вызов pipe () вместе с fork (), я удивляюсь, как понимать каналы, включая как анонимные каналы, так и именованные каналы. Часто говорят, что «все в …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.