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

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


1
Какова цель ключевого слова «do» в Bash для циклов?
Какова цель doключевого слова в forсинтаксисе цикла Bash ? Для меня это кажется излишним. for i in `seq 1 2`; do echo "hi"; done Почему синтаксис не такой? for i in `seq 1 2`; echo "hi"; done Я уверен, что это действительно соответствует цели. Я просто хочу учиться.
76 bash  shell  for 

7
Как использовать `which` для команды с псевдонимом?
Как и у большинства пользователей, у меня есть набор псевдонимов, чтобы задать набор флагов по умолчанию для часто используемых программ. Например, alias vim='vim -X' alias grep='grep -E' alias ls='ls -G' Проблема в том, что если я хочу использовать, whichчтобы увидеть, откуда поступает мой vim/ grep/ ls/ etc, псевдоним мешает: $ …
76 shell  zsh  alias  which 

3
Что такое ярлык bash для перехода в предыдущий каталог?
К сожалению, я узнал об этом только в прошлом году, случайно наткнувшись на него в Интернете. Я использую его так редко, что всегда забываю, что это такое, когда мне снова это нужно. Как вы переходите на свой предыдущий каталог?
76 bash  shell  cd-command 

4
В чем разница между поиском ('.' Или 'source') и выполнением файла в bash?
В чем разница между выполнением скрипта, подобного этому: ./test.sh и выполнить скрипт, как это: . test.sh? Я попробовал простой двухстрочный скрипт, чтобы посмотреть, смогу ли я найти разницу: #!/bin/bash ls Но оба . test.shи ./test.shвернули одну и ту же информацию.
76 bash  shell 



7
Когда бы вы использовали дополнительный файловый дескриптор?
Я знаю, что вы можете создать дескриптор файла и перенаправить вывод на него. например exec 3<> /tmp/foo # open fd 3. echo a >&3 # write to it exec 3>&- # close fd 3. Но вы можете сделать то же самое без дескриптора файла: FILE=/tmp/foo echo a > "$FILE" Я …


7
Сколько у меня глубоких снарядов?
Задача : найти, сколько у меня глубоких снарядов. Детали : я много открываю оболочку от vim. Построить и запустить и выйти. Иногда я забываю и открываю другой vim внутри, а затем еще одну оболочку. :( Я хочу знать, сколько у меня глубоких снарядов, возможно, даже иметь его на экране оболочки …
73 bash  shell-script  shell  vim  zsh 

8
В чем разница между $ * и $ @?
Рассмотрим следующий код: foo () { echo $* } bar () { echo $@ } foo 1 2 3 4 bar 1 2 3 4 Это выводит: 1 2 3 4 1 2 3 4 Я использую Ksh88, но меня интересуют и другие распространенные оболочки. Если вы знаете какие-либо особенности …
73 shell  quoting  ksh  arguments 

3
Если процессы наследуют родительскую среду, зачем нам экспорт?
Я прочитал здесь, что цель exportоболочки - сделать переменную доступной для подпроцессов, запускаемых из оболочки. Однако я также читал здесь и здесь, что «Процессы наследуют свое окружение от своего родителя (процесс, который их запустил)». Если это так, зачем нам это нужно export? Чего мне не хватает? Переменные оболочки не являются …

3
Как я могу проверить соответствие POSIX сценариев оболочки?
Учитывая, что POSIX является наиболее близкой к общему стандарту среди всех единиц, мне интересно знать, существует ли оболочка, которая поддерживает его исключительно. Хотя большинство современных оболочек обеспечивают поддержку POSIX (и без проблем запускают POSIX-совместимые сценарии), они не очень хорошо указывают на несовместимые функции. Существует ли какая-либо оболочка, которая реализует только …

4
В чем разница между встроенной командой и командой, которой нет?
Есть ли какая-либо внутренняя разница между встроенной командой и другой командой, которая может номинально делать то же самое? например. Получают ли встроенные «особые» средства? ... есть ли на них меньше накладных расходов? .. или они просто «встроены»; как приборная панель вашего автомобиля? ... и есть ли определенный (текущий) список этих …

5
Замените несколько пробелов одним, используя только 'tr'
У меня есть файл f1.txt: ID Name 1 a 2 b 3 g 6 f Количество пробелов не фиксировано. Каков наилучший способ заменить все пробелы одним пробелом, используя только tr? Это то, что я до сих пор: cat f1.txt | tr -d " " Но вывод: IDName 1a 2b 3g …
72 shell  cut  tr 

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