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

13
Установка временных псевдонимов bash при входе в папку

Иногда мне нравится иметь очень настраиваемые псевдонимы bash и, возможно, сочетания клавиш, когда я вхожу в папку (это может быть проект, в котором я использую много команд из CLI). Предположим, что когда я вхожу в папку типа «projectAlpha /», я ожидаю несколько пользовательских псевдонимов, таких...

13
Как использовать специальный символ как нормальный?

Многие вопросы, например, «Как ввести символ двойной кавычки (»)? нас спрашивают, и мы не хотим загромождать наше сообщество одним и тем же ответом (введите его, как \"будто он не заключен в 's, "если заключен в 's.) Итак, вопрос здесь. Вы не можете вводить специальные символы в терминал, как...

13
Есть ли способ для сценария оболочки узнать, какая программа его выполнила?

Есть ли в * nix мире способ для сценария оболочки иметь информацию о том, какая программа его выполнила? Пример: /path/to/script1 /path/to/script_xyz в этом воображаемом сценарии script_xyzбудет иметь информацию о пути ( /path/to/script1) или PID процесса субъекта, который его выполнил. Примечание:...

13
Отдельные пространства имен для функций и переменных в оболочках POSIX

В dash функции и переменные, кажется, живут в отдельных пространствах имен: fn(){ fn="hello world" } fn; echo "The value is $fn!" #prints: The value is hello world! fn; echo "The value is $fn!" #prints: The value is hello world! #the fn variable doesn't conflict with the fn function Это особенность...

13
Реверсирование содержимого переменной словами

Так что, если у меня есть переменная VAR='10 20 30 40 50 60 70 80 90 100' и повторить это echo "$VAR" 10 20 30 40 50 60 70 80 90 100 Однако далее по сценарию мне нужно изменить порядок этой переменной, чтобы она выглядела как echo "$VAR" | <code to reverse it> 100 90 80 70 60 50 40 30 20 10 Я...

13
Проверка командных двоичных файлов перед выполнением

Есть ли способы проверить, что вы на самом деле выполняете из bash-скрипта? Предположим, что ваш Баш скрипт звонит несколько команд (например: tar, mail, scp, mysqldump) , и вы готовы , чтобы убедиться , что tarфактическая, реальная tar, которая может быть определена с помощью rootпользователя ,...

13
Почему SSH -t не ждет фоновых процессов?

Почему это ssh -tне ждет завершения фоновых заданий? Пример: ssh user@example 'sleep 2 &' Это работает как ожидалось, так как ssh возвращается через 2 секунды, тогда как ssh user@example -t 'sleep 2 &' не ждет sleepокончания и сразу возвращается. Кто-нибудь может объяснить причину этого?...

13
Поддерживают ли кавычки кроме Bash и Zsh цитирование ANSI-C? например, $ 'string'

У меня есть сценарий оболочки, который использует следующее, чтобы напечатать зеленую галочку в своем выводе: col_green="\e[32;01m" col_reset="\e[39;49;00m" echo -e "Done ${col_green}✓${col_reset}" Прочитав о цитировании Bash по ANSI-C , я понял, что могу использовать его при настройке цветовых...

13
Как перенести массив в bash-стиле в пепел?

Некоторое время назад я написал скрипт bash, который теперь должен работать в среде с ash. На bashэто было похоже: services=( "service1.service" "service2.service" "service3.service" ) for service in "${services[@]}" do START $service done START() { echo "Starting "$1 systemctl start $1 } На самом...

13
Что проверяет [-t 1]?

Я только что нашел способ начать, zshкогда я запускаю bashна Windows из https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/ . Рекомендуется добавить следующий код в конце .bashrc. # Launch Zsh if [ -t 1 ]; then exec zsh fi Что [ -t 1 ]значит? Это правда? Тогда я могу...

13
Как вы определяете, экспортируются ли переменные оболочки или нет?

В семействе оболочек Bourne все переменные оболочки имеют имена в верхнем регистре; Это означает, что вы не можете определить, является ли конкретная переменная переменной среды или нет, просто взглянув на ее имя. Как определить, какие переменные оболочки Bourne являются локальными (определены...

13
echo или print / dev / stdin / dev / stdout / dev / stderr

Я хочу напечатать значение / dev / stdin, / dev / stdout и / dev / stderr. Вот мой простой скрипт: #!/bin/bash echo your stdin is : $(</dev/stdin) echo your stdout is : $(</dev/stdout) echo your stderr is : $(</dev/stderr) я использую следующие трубы: [root@localhost home]# ls |...

13
Как использовать Bash для sh в Ubuntu

Я устанавливаю огромную программу, которая имеет свои ресурсы в виде rpmфайла. Это застряло на линии #!/bin/sh SCITEGICPERLBIN=`dirname $0` SCITEGICPERLHOME=`dirname $SCITEGICPERLBIN` if [ $SCITEGICPERLHOME == "." ] Видимо, в Red Hat Linux shработают bashс этим синтаксисом, но он выдает ошибку...

13
Почему «ps ax» не находит работающий скрипт bash без «#!» заголовок?

Когда я запускаю этот скрипт, намеревался запускать, пока не убил # foo.sh while true; do sleep 1; done ... Я не могу найти его с помощью ps ax: >./foo.sh // In a separate shell: >ps ax | grep foo.sh 21110 pts/3 S+ 0:00 grep --color=auto foo.sh ... но если я просто добавлю общий " #!"...

13
Что мешает чередованию stdout / stderr?

Скажем, я запускаю несколько процессов: #!/usr/bin/env bash foo & bar & baz & wait; Я запускаю приведенный выше скрипт так: foobarbaz | cat насколько я могу судить, когда любой из процессов записывает в stdout / stderr, их вывод никогда не перемежается - каждая строка stdio кажется...

13
Как я могу получить pid subshell?

Как я могу получить pid subshell? Например: $ echo $$ 16808 Это не работает, потому что оригинальная оболочка расширяется $$: $ ( echo $$ ) 16808 Почему одинарные кавычки не работают? После того, как исходная оболочка удаляет одинарную кавычку, не расширяется ли подоболочка $$? $ ( echo '$$' ) $$...

13
Какова структура данных $ @ в оболочке?

Мы обычно используем $@для представления всех аргументов, кроме $ 0. Однако я не знаю, что такое структура данных $@. Почему $*при включении в двойные кавычки он ведет себя иначе , может кто-нибудь дать мне объяснение на уровне переводчика? Его можно повторять в цикле for, поэтому он выглядит как...

12
Какие менее популярные оболочки вы используете и каковы их преимущества? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Помимо того, что вы можете (возможно?) Назвать более популярными оболочками...