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

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

2
Выйдите из оболочки с помощью ярлыка (без ввода exit), который правильно закрывает сессию
Я использую команду ProxyJump для нескольких сессий ssh, которые я использую ежедневно, а также часто переключаю пользователей на этих сессиях, и необходимость набирать exit3 или 4 раза подряд не слишком увлекательна. Мне известно о newline+ ~+ .для завершения сеанса SSH, мне все еще нужно проверить, завершает ли он это по-дружески, …
12 bash  shell  session 


3
Является ли «$ {PS1-}» допустимым синтаксисом и чем он отличается от простого «$ PS1»?
Я смотрю на сценарий, который имеет: if [ "${PS1-}" ]; then Этот трейлинг -немного беспокоит меня, потому что он не соответствует стандартному синтаксису Posix или Bash. Это какой-то загадочный синтаксис, который был всегда, или это опечатка? Любые ссылки на стандарты / документы будут приветствоваться. Обычно я бы написал это: if …

1
У меня есть несколько копий .bash_profile, какая из них на самом деле используется? (если есть)
Я думаю, что в какой-то момент я все испортил, .bash_profileи теперь у меня несколько Я пытаюсь настроить свою оболочку, но я не уверен, какой .bash_profileиспользовать, если таковые имеются. Я думал, что .bashrcфайл использовался чаще? Я использую OSX - El Capitan ls -la | more total 480 -rw------- 1 Matthew staff …
12 shell  bashrc 

1
Как мне надежно найти полный путь к программе в PATH?
Мне нужно найти путь к данной программе с PATHпомощью сценария оболочки. Путь должен быть фактическим полным путем программы, который может быть передан позже одной из exec*функций, которая не ищет PATHсаму себя, например execv. Существуют такие программы, как kill, которые доступны как фактическая программа, так и встроенная оболочка одновременно. Если это …
12 shell  path 

1
Почему я получаю сообщение об ошибке при попытке перехвата сигнала SIGINT?
Я запускаю приведенный ниже скрипт для автоматической загрузки файлов с сервера с использованием lftp. Это работает за исключением того, что при запуске я получаю сообщение об ошибке trap: SIGINT: bad trap Если я заменю SIGINT и SIGTERM на INT и TERM, то это сработает, но я не знаю, достигнет ли …
12 shell  trap 

1
Как ksh93 избегает разветвлений в подстановке команд
Данный cmd='fun(){ echo "$@"; }; fun $(fun $(fun hi))' снаряды, как правило, должны сделать 2 вилки, чтобы это произошло strace-f(){ strace -f "$@" 2>&1; }; for sh in dash bash zsh ksh; do printf "$sh\t" ; strace-f $sh -c "$cmd" |grep -e clone -e fork -c; done кроме kshгероически делает …

1
Какие файлы были получены, Zsh
Я использую oh-my-zsh с zpretzo, и я постоянно забываю zsh-файлы, которые я хочу редактировать. Как я могу спросить у оболочки, какие исходные файлы были получены?
12 shell  zsh 

4
Почему вывод политики apt-cache не передается по конвейеру?
Не могу понять почему $ apt-cache policy foo N: Unable to locate package foo но $ apt-cache policy foo 2>&1 | grep . пустой. Где в последнем звонке я делаю неправильное предположение? Исходное задание: мне нужно обработать apt-cache policyвывод предположительно :-) UPD : fooиспользуемый в моем примере может быть заменен …
12 shell  apt  pipe 




3
Очистить или отключить псевдонимы в Zsh
Я установил oh-my-zsh, чтобы облегчить использование терминала. Одна вещь, которая меня беспокоит, - это добавочные псевдонимы, такие как «ga», «gap», «gcmsg», «_», которые труднее запомнить, чем исходная команда, и загрязняют хэш-таблицу команд. Так есть ли способ вообще отключить псевдонимы? Или способ очистить все псевдонимы, чтобы я мог поместить его в …
12 shell  zsh  alias  oh-my-zsh 

2
Конкатенация строк Bash, используемая для построения списка параметров
Учитывая этот кусок Баш: PARMS='-rvu' PARMS+=" --delete --exclude='.git'" echo $PARMS rsync ${PARMS} . ${TARGET} Эхо показывает строку PARMS, как и ожидалось, ошибки не отображаются, но rsync работает тихо, как если бы опции, добавленные + =, не существовали. Тем не менее, это работает как ожидалось: PARMS='-rvu' rsync ${PARMS} --delete --exclude='.git' . …

2
Создать абсолютную символическую ссылку на текущий каталог
Я сейчас в каталоге с очень длинным путем. Чтобы в будущем посетить его быстрее, я бы хотел создать ссылку на него. Я старался ln -s . ~/mylink ~/mylinkна самом деле ссылки на ~. Итак, могу ли я перейти ~к полному пути, а затем дать его ln?
12 shell  symlink  cwd 

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