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

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

3
Почему параметры в кавычках не работают, но работают без кавычек?
Я читал о том, что я должен заключать в кавычки переменные в bash, например, «$ foo» вместо $ foo. Однако при написании скрипта я обнаружил случай, когда он работает без кавычек, но не с ними: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX recieved from command …


3
Значение [«$ {1: 0: 1}» = '-']
У меня есть следующий скрипт для запуска процесса MySQL: if [ "${1:0:1}" = '-' ]; then set -- mysqld_safe "$@" fi if [ "$1" = 'mysqld_safe' ]; then DATADIR="/var/lib/mysql" ... Что означает 1: 0: 1 в этом контексте?
18 linux  bash  shell 

2
Есть ли что-то вроде JavaScript «split ()» в оболочке?
Это очень легко использовать split()в JavaScript, чтобы разбить строку на массив. А как насчет сценария оболочки? Скажи, что я хочу сделать это: $ script.sh var1_var2_var3 Когда пользователь передает такую ​​строку var1_var2_var3в script.sh, внутри скрипта он преобразует строку в массив, подобный array=( var1 var2 var3 ) for name in ${array[@]}; do …

4
Используйте #! / Bin / sh или #! / Bin / bash для совместимости с Ubuntu-OSX и простоты использования и POSIX
Я знаю, что могу использовать любой из сценариев в качестве первой строки для вызова желаемой оболочки. Было #!/bin/shбы рекомендовано, если совместимость со всеми системами Unix является абсолютным требованием? В моем случае единственные операционные системы, о которых я забочусь, это Ubuntu (Debian) и OSX. Учитывая это, могу ли я использовать #!/bin/bashи …
18 bash  shell  ubuntu  osx  posix 

2
Почему переменная видна в подоболочке?
В Learning Bash Book упоминается, что подоболочка будет наследовать только переменные среды, дескрипторы файлов и т. Д. И что она не будет наследовать переменные, которые не экспортируются: $ var=15 $ (echo $var) 15 $ ./file # this file include the same command echo $var $ Как я знаю, оболочка создаст …
18 bash  shell  subshell 


2
Когда важно писать переносимые сценарии?
Большая часть кода, который я пишу, написана на PHP. Я недавно начал изучать сценарии оболочки. Большинство ресурсов и учебных пособий, с которыми я сталкивался, относятся к Bash. Некоторые предупреждают о bashisms, а некоторые нет. Я много читал здесь и переполнение стека. Всякий раз, когда в ответе используются ошибки , кто-то …

2
Расширение переменной оболочки и влияние glob и split на него
Этот пост на самом деле содержит два отдельных вопроса, но я думаю, что их объединение даст больше контекста. Я прошел через этот вопрос о кавычках вокруг переменных, но я не совсем понимаю, что означает расширение переменных . Итак, мой первый вопрос: Что говорят расширения переменных в unix / linux? Вторая …

2
Вредно ли закрывать окно терминала без правильного выхода из приложения?
Используя Ubuntu 12.04 LTS, мой вопрос заключается в том, что если я запустил приложение в окне терминала, то есть ли что-то плохое в простом закрытии окна терминала без надлежащего выхода из приложения. Например, я использую MATLAB. Я открываю терминал и набираю matlab -nodisplay -nodesktop -nosplash а затем запустить кучу скриптов. …

5
В каких ситуациях пользователь не позволяет оболочке записывать свою команду в историю?
Если добавить export HISTCONTROL=ignorespaceв .bashrc, баш не будет записывать какие - либо команды , которые имеют пробелы перед ними в историю. Но я не понимаю, при каких ситуациях это будет полезно. Кто-нибудь может привести несколько примеров?

4
Можно ли настроить git для нескольких репозиториев?
Git поддерживает значения конфигурации на трех уровнях: Глобальные настройки для системы (хранятся в /etc/git-core) Пользовательские глобальные настройки (хранятся в ~/.gitconfig) Локальные настройки репозитория (хранятся в $REPO/.git/config) Эти параметры охватывают большую часть основы, но я ищу способ справиться с четвертым уровнем. У меня есть (очень) большая коллекция репозиториев, для которых мне …
18 shell  git 


3
Как выбрать конкретные процессы с «верхом»?
В случае, если одна программа имеет несколько экземпляров, запуск pidof programдает: `1 2 3` top -pпринимает разделенные запятыми аргументы: 1, 2, 3. Это означает, что top -p `pidof program`это не сработает: top: unknown argument '1' usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p …

7
Собирать коды выхода параллельных фоновых процессов (подоболочек)
Скажем, у нас есть скрипт bash, например: echo "x" & echo "y" & echo "z" & ..... echo "Z" & wait Есть ли способ собрать коды выхода для вложенных оболочек / подпроцессов? Ищите способ сделать это и ничего не можете найти. Мне нужно запустить эти подоболочки параллельно, иначе да, это …

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