Вопросы с тегом «shell»

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


15
Какие настройки вы сделали в своем профиле оболочки для повышения производительности?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я знаю, что некоторые люди имеют некоторые сценарии запуска, а некоторые персонализируют приглашение. Один разработчик использует короткие псевдонимы для длинного пути, который …

2
Как вставить переменные в строку, содержащую «»?
Я хочу построить строку XML, вставив переменные: str1="Hello" str2="world" xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>' echo $xml Результат должен быть <?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2> Но то, что я получаю, это: <?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2> Я тоже пробовал xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>" Но это удаляет внутренние двойные кавычки и дает: <?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
25 bash  shell  variable  xml 

2
Что означает $ {PATH: +: $ {PATH}}?
Недавно я заметил следующее в моем профиле cygwin, точнее: /usr/local/bin:/usr/bin${PATH:+:${PATH}} Что это означает? Почему не просто $ PATH? Это «если $ PATH существует, то добавить: $ PATH»? Моя цель - поменять порядок и поместить пути cygwin за путями Windows. В прошлом я бы $PATH:/usr/local/bin:/usr/bin но это меня смущает. Может быть, …

2
Разница между «эхо» и «эхо-е» [закрыто]
Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 4 года назад . В чем разница между echoи echo -e? Какие кавычки ("" или ") следует использовать с командой …
25 shell 


3
Что означает $ # в оболочке?
Что $#значит в оболочке? У меня есть такой код if [ $# -eq 0 ] then Я хочу понять, что это $#значит, но поиск в Google очень плох для поиска подобных вещей.


1
что вы подразумеваете под интерактивной оболочкой?
UNIX: полный справочник, второе издание Кеннета Х. Розена и соавт. Вы можете запустить другую оболочку после входа в систему, используя имя оболочки в качестве команды; например, чтобы запустить оболочку Korn, вы можете ввести ksh в командной строке. Этот тип оболочки не является оболочкой входа в систему, и вам не нужно …
25 shell 

3
Оставайтесь в том же рабочем каталоге при переходе на sudo
При работе в командной строке я часто переключаюсь на sudo, используя sudo -i. Однако мой рабочий каталог автоматически меняется на /root. Я никогда не хочу туда идти; Я хочу остаться там, где я был! Как мне этого добиться?
25 shell  directory  sudo 


2
Как сбросить среду оболочки?
Эта проблема беспокоила меня некоторое время, и хотя я думал, что нашел свой ответ через EnvWatcher , к сожалению, он работает только на Bash. И я использую Zsh. Я хотел бы повторить то, что делает env-watcher, в меньшей степени, может быть, но мне нужно знать, есть ли команда, с помощью …

5
Почему командная подстановка оболочки поглощает завершающий символ новой строки?
Как в следующем примере, и как в моем недавнем вопросе в bash, куда ушел завершающий символ новой строки? Я хочу знать, "почему" это происходит x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # Output is: 610a62 # The trailing newline from the 'echo' command # has been "deleted" …

2
Как захватить упорядоченный STDOUT / STDERR и добавить метки времени / префиксы?
Я изучил почти все доступные подобные вопросы , но безрезультатно. Позвольте мне подробно описать проблему: Я запускаю несколько автоматических сценариев, и они могут генерировать стандартный вывод и стандартные строки ошибок, я хочу записать их в точном порядке, отображаемом эмулятором терминала, а затем добавить к ним префикс, такой как «STDERR:» и …

3
Поддерживает ли bash разветвление аналогично fork () в C?
У меня есть сценарий, который я хотел бы разветвить в один момент, чтобы были запущены две копии одного и того же сценария. Например, я хотел бы, чтобы существовал следующий скрипт bash: echo $$ do_fork() echo $$ Если этот bash-скрипт действительно существует, ожидаемый результат будет: <ProcessA PID> <ProcessB PID> <ProcessA PID> …
25 shell  fork 

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