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

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

1
tr a A </ etc / hosts | sort -r | pr -d> / etc / hosts
В этой строке: tr a A &lt; /etc/hosts | sort -r |pr -d &gt; /etc/hosts каков будет ожидаемый результат? Я знаю, что строчные буквы "а" изменится на прописные буквы "А", но что дальше? Будет ли перезаписан исходный файл, поскольку перенаправление выполняется с тем же именем файла?

3
расширение оболочки (A | B) в именах файлов?
Можно ли расширить orвыбор в оболочке при чтении файла например. Под этим я подразумеваю, что, например, grepподдерживает синтаксис, подобный (A|B)совпадению A или B в файле. Точно так же, если у меня есть эти файлы: file1.txt file2.txt file3.txt file4.txt file5.txt Я мог бы сделать cat file{1..5}.txtв bash, как он расширяет диапазон. …

1
отображать STDOUT перед STDERR?
Я новичок в bash и не могу на всю жизнь понять, как запустить определенную команду, предположить ./fffи напечатать обычные stdouts перед stderr (я сам не понимаю смысла) например $ printf "I am a\ndrill\n" &gt; fff; $ cat fff nofile fff nofile fff I am a drill cat: nofile: No such …

4
Разделить строку на двоеточие в / bin / sh
Мой dashскрипт принимает параметр в виде hostname:port, то есть: myhost:1234 Принимая во внимание, что порт является необязательным, то есть: myhost Мне нужно прочитать хост и порт в отдельных переменных. В первом случае я могу сделать: HOST=${1%%:*} PORT=${1##*:} Но это не работает во втором случае, когда порт был опущен; echo ${1##*:}просто …
9 shell  string  dash 

3
Защита команды оболочки с помощью строковой переменной
На языке программирования я выполняю простую команду оболочки cd var; echo &gt; create_a_file_here с переменной var , которая содержит строку (надеюсь) каталога, где я хочу создать файл "create_a_file_here". Теперь, если кто-то видит эту строку кода, можно использовать ее, назначив, например: var = "; rm -rf /" Вещи могут стать довольно …

10
Bash: извлеките один из четырех разделов адреса IPv4
Мы можем использовать синтаксис ${var##pattern}и ${var%%pattern}извлечь последний и первый раздел адреса IPv4: IP=109.96.77.15 echo IP: $IP echo 'Extract the first section using ${var%%pattern}: ' ${IP%%.*} echo 'Extract the last section using ${var##pattern}: ' ${IP##*.} Как мы можем извлечь второй или третий раздел адреса IPv4, используя расширение параметра? Вот мое решение: …

4
PS вывод с форматом даты ISO?
Я хотел бы отсортировать этот вывод по lstart(начало процесса): ps -eo lstart,pid,cmd Есть ли способ вывести lstart в формате ISO, например, ГГГГ-ММ-ДД ЧЧ: ММ: СС? Но сортировка сама по себе не решает проблему. Я действительно хотел бы иметь формат даты ISO.
9 shell  date  ps 

1
Этимология $ PWD
Какова этимология $PWD? Это аббревиатура? Я знаю, что есть команда, pwdкоторая печатает рабочий каталог, но, на мой взгляд, было бы более разумно назвать переменную $CWDдля текущего рабочего каталога, поскольку переменные оболочки содержат данные, а не печатают их.
9 shell  history  pwd 

1
Почему я не могу напечатать переменную, которую вижу в выводе env?
Я заинтересован в установке переменных среды одного экземпляра оболочки из другого. Поэтому я решил провести небольшое исследование. После прочтения ряда на вопросы о этом я решил проверить его. Я породил две оболочки A и B (PID 420), обе работают zsh. Из оболочки ИИ запускается следующее. sudo gdb -p 420 (gdb) …

1
Возврат каретки с эхо-командой
Я практиковал команду эха с опцией \r(возврат каретки), как показано ниже. echo -e "This is \r my college" вывод: my college но когда я добавляю еще одно слово, \rкак показано ниже echo -e "This is the \r my college" Тогда это дает мне вывод как: my college the Другой пример …
9 shell  echo  newlines 


3
Что это за переменная формы = $ (…)
Что означает следующее: basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") Я особенно заинтересован в этой части: varible=$(...) Я знаю, что скобки используются для выполнения подпроцесса, но что, если они используются вместе с $?
9 shell 



4
Программа Bash не выполняется, если перенаправление не удастся
В bash я заметил, что если команда, использующая перенаправление, потерпит неудачу, любые программы, которые выполняются до этого, не запускаются. Например, эта программа открывает файл «а» и записывает 50 байтов в файл «а». Однако выполнение этой команды с перенаправлением в файл с недостаточными разрешениями (~ root / log) не приводит к …

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