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

9
Перенаправление ввода-вывода и команда head

.hgignoreСегодня я пытался быстро отредактировать файл из оболочки Cygwin bash и добавил строку, которая была ошибкой. Я не уверен, что это был лучший способ сделать это, но я быстро подумал об использовании head -1 .hgignoreдля удаления ошибочной строки (ранее у меня была только одна строка в...

9
Как оболочка (например, bash) расширяет шаблоны подстановочных знаков?

Предположим, что каталог содержит 100 файлов, начинающихся с буквы «а». Если я сделаю grep <some string> a*из терминала, как оболочка справится с этим? Будет ли он расширять регулярное выражение, получать список всех файлов, начинающихся с a и grep для каждого из них последовательно? Или есть...

9
Определите, есть ли у текущего пользователя разрешение на запись в каталог

Я знаю, что вы можете определить владельца каталога, выполнив: ls -ld ~/foo | awk '{ print $3 }' Затем вы можете сравнить его с текущим пользователем, выполнив это: if [[ $(ls -ld ~/foo | awk '{ print $3 }') == "$USER" ]] # or $(id -u -n ) instead of $USER then echo "You are the owner" else echo...

9
Что не является специфичным для оболочки?

Под некоторыми ответами я вижу комментарии, которые рекомендуют избегать определенных команд оболочки в ответах. Как узнать, какие команды, операторы и т. Д. Существуют во всех оболочках? Есть ли список стандартов? man builtinsдает список команд. Это единственные команды, которые я могу...

9
Как открыть новую строку, используя цикл for?

В разных местах в Интернете я нашел: \015 \012 \x0a - hex \n \r все как синонимы для различных новых строк / возвратов каретки ... Но в этом небольшом сценарии я не могу распознать, когда сталкиваюсь с новой строкой - может кто-нибудь сказать мне, что я должен проверять в строке if? #!/bin/bash...

9
Как определить, когда оболочка принадлежит удаленному сеансу SSH?

Мой вопрос похож на этот , но я ищу что-то немного другое. У меня есть ноутбук, который я использую для доступа к машинам Linux в сети в двух разных сценариях: У меня есть прямое проводное подключение к сети. У меня есть косвенное подключение к сети. В сети есть шлюз, доступный через Интернет,...

9
Выполнение команды на удаленном хосте с интерактивным SSH (условно)

Я хотел бы иметь возможность автоматически запускать команду на удаленном хосте каждый раз, когда я вхожу на этот хост, но в рамках текущего интерактивного сеанса SSH. Что-то вроде ssh user@remotehost [run do.sh] где do.shвыполняет несколько служебных задач, а затем снова подключается к...

9
Две трубы к одной команде

Меня немного смущает следующий синтаксис. Хотя это работает, он не понимает, почему это работает. Кажется, что к команде diff прикреплены две трубы. Но разве не один STDIN? Примеры: diff <(echo "foobar") <(echo "barbaz") diff <(cat foo.txt) <(cat...

9
удалить самые старые файлы

Я пытаюсь удалить старые файлы из каталога и оставить только 3 новых файла. cd /home/user1/test while [ `ls -lAR | grep ^- | wc -l` < 3 ] ; do rm `ls -t1 /home/user/test | tail -1` echo " - - - " done что-то не так с условным утверждением....

9
найти набор общих файлов между несколькими каталогами?

Я смотрю, чтобы сравнить каталоги тем Drupal. Тема drupal - это каталог, состоящий из нескольких файлов, и я пытаюсь выяснить, какие из них необходимы. Например, у всех них может быть файл с именем template.phpили page.tpl.php. Как я могу найти набор всех общих файлов для нескольких каталогов? В...

9
dd: запись '/ dev / null': на устройстве не осталось места

Я читаю 550MB файл в / dev / null и получаю dd: writing '/dev/null': No space left on device Я удивлен. Я думал, что / dev / null - это черная дыра, куда вы можете отправлять столько, сколько захотите (потому что это виртуальный фс). Да, мой диск почти заполнен, когда я получаю эту ошибку. Что я...

9
Почему Bash не может найти команду, даже если $ PATH указан правильно?

Я указываю путь к моей команде в файле / etc / profile : export PATH=$PATH:/usr/app/cpn/bin Моя команда находится в: $ which ydisplay /usr/app/cpn/bin/ydisplay Итак, когда я выполняю «echo $ PATH», вывод выглядит так: $ echo $PATH ...:/usr/app/cpn/bin И все в порядке, но когда я пытаюсь запустить...

9
Разделить вывод команды по переносу строки?

У меня есть команда, возвращающая несколько строк. Для дальнейшей обработки мне нужно обработать каждую строку этих строк. Мой текущий код работает путем изменения IFS ( Разделитель внутренних полей ): ROWS=$(some command returning multiple lines) O=$IFS #save original IFS IFS=$(echo -en "\n\b") #...

9
Перенаправление вывода и пробелы

Я параноик по этому поводу, но, надеюсь, это простой вопрос: Есть ли разница между cat file1 | egrep -oP "[Mm]y string" > /home/user/file.txt а также cat file1|egrep -oP "[Mm]y string">/home/user/file.txt то есть имеет ли значение, если у меня есть пробелы, заполняющие символы канала (|) и...

9
Почему --text = «$ @» пропускает только первое слово?

Когда я запускаю следующий скрипт с такими аргументами, как arg1 arg2 arg3: #!/bin/bash zenity --entry --text="$@" zenity создает диалог ввода с таким текстом: «arg1», тогда как я ожидаю «arg1 arg2 arg3» Если я использую переменную, подобную следующему сценарию, она показывает все аргументы для...

9
Как увидеть команды, выполненные в другой оболочке?

Есть ли способ посмотреть, какие команды выполняются в другой оболочке, как они выполняются? Обе оболочки - bash, и у меня есть root-доступ, если это имеет значение. Я не могу установить дополнительное программное обеспечение, и я не хочу, чтобы другая оболочка выполняла какие-то особенные...

9
Тест POSIX и -a

Я проверил свой сценарий с контрбашизмами и получил следующие предупреждения: possible bashism in check_ssl_cert line 821 (test -a/-o): if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then В разделе 4.62.4 спецификаций POSIX я нахожу первичный-первичный Выполняет двоичный файл и результаты...