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

Вопросы о сценариях оболочки, исполняемых файлах, которые интерпретируются оболочкой (bash, zsh и т. Д.).

6
найти максимальное значение столбца 1 и распечатать соответствующую запись из столбца 2 из файла
Как найти максимальное значение из столбца 1 и отобразить соответствующее местоположение пути из файла, который содержит n записей. $ cat version.log 112030 /opt/oracle/app/oracle/product/11.2.0 121010 /opt/oracle/app/oracle/product/12.1.0 Ожидаемый результат: /opt/oracle/app/oracle/product/12.1.0

2
Скрипт оболочки выдает ошибку not found при запуске из файла sh. Но если введенные вручную команды работают
Я пытаюсь использовать следующий скрипт для создания карты сайта для моего сайта. Когда я запускаю его, sh thsitemap.shя получаю такую ​​ошибку и создаю пустой файл sitemap.xml: thsitemap.sh: 22: thsitemap.sh: [[: not found thsitemap.sh: 42: thsitemap.sh: [[: not found thsitemap.sh: 50: thsitemap.sh: Syntax error: "(" unexpected Но как тот же пользователь, …

6
Как проверить, смонтирована ли файловая система с помощью скрипта
Я новичок в написании сценариев ... Я могу делать очень простые вещи, но теперь мне нужна рука. У меня есть локальная файловая система, которая будет монтироваться только тогда, когда мне нужно сделать резервную копию. Я начинаю с этого. #!/bin/bash export MOUNT=/myfilesystem if grep -qs $MOUNT /proc/mounts; then echo "It's mounted." …

3
Как мне создать новый пустой файл в скрипте bash?
Я запускаю какой-нибудь сторонний скрипт на Perl, написанный так, что для выходного флага требуется выходной файл -o. К сожалению, для сценария требуется фактический файл, то есть пользователи должны создать пустой файл filename.txtс 0 байтами, а затем ввести этот пустой файл в командной строке сценария. perl script1.pl -o filename.txt Вопрос: Как …

3
Доступ к переменной индекса массива из цикла сценария bash?
Я хочу получить доступ к переменной индекса массива во время цикла по массиву в моем сценарии оболочки bash. myscript.sh #!/bin/bash AR=('foo' 'bar' 'baz' 'bat') for i in ${AR[*]}; do echo $i done Результат приведенного выше сценария: foo bar baz bat Результат, который я ищу: 0 1 2 3 Как мне …

5
Как получить только PID, без какой-либо дополнительной информации, процесса, выполняющегося на порте 3000?
Я использую CentOS 7. Я хочу получить PID (если он существует) процесса, работающего на порте 3000. Я хотел бы получить этот PID с целью сохранения его в переменной в сценарии оболочки. Пока у меня есть [rails@server proddir]$ sudo ss -lptn 'sport = :3000' State Recv-Q Send-Q Local Address:Port Peer Address:Port …

5
Как я могу отсортировать список по уровню major.minor.patch и иногда rc правильно?
Я должен отсортировать следующий список с помощью сценария оболочки и сделать последнюю версию внизу или вверху. Как бы я сделал это только с инструментами оболочки? release-5.0.0.rc1 release-5.0.0.rc2 release-5.0.0 release-5.0.1 release-5.0.10 release-5.0.11 release-5.0.13 release-5.0.14 release-5.0.15 release-5.0.16 release-5.0.17 release-5.0.18 release-5.0.19 release-5.0.2 release-5.0.20 release-5.0.21 release-5.0.22 release-5.0.23 release-5.0.24 release-5.0.25 release-5.0.26 release-5.0.27 release-5.0.28 release-5.0.29 release-5.0.3
18 shell-script  awk  sed  python  sort 

4
совместимый с checkbashisms способ определения текущей оболочки
В моем .profileкоде я использую следующий код, чтобы гарантировать, что псевдонимы и функции, связанные с Bash, получаются только в том случае, если на самом деле оболочкой входа является Bash : # If the current (login) shell is Bash, then if [ "${BASH_VERSION:-}" ]; then # source ~/.bashrc if it exists. …

6
Должны ли переменные быть заключены в кавычки при выполнении?
Общее правило в сценариях оболочки заключается в том, что переменные всегда должны заключаться в кавычки, если нет веской причины не делать этого. Для получения более подробной информации, чем вы, вероятно, хотели бы узнать, взгляните на эти замечательные вопросы и ответы: последствия для безопасности того, что вы забыли заключить переменную в …

2
Есть ли что-то вроде JavaScript «split ()» в оболочке?
Это очень легко использовать split()в JavaScript, чтобы разбить строку на массив. А как насчет сценария оболочки? Скажи, что я хочу сделать это: $ script.sh var1_var2_var3 Когда пользователь передает такую ​​строку var1_var2_var3в script.sh, внутри скрипта он преобразует строку в массив, подобный array=( var1 var2 var3 ) for name in ${array[@]}; do …

2
Как это '&' в конце моей команды сделало скрипт таким быстрым?
Решая некоторые проблемы CTF онлайн, я столкнулся с ситуацией, когда мне нужно было перебить сервер. Это код, который я написал: #!/bin/bash for i in {0..9}{0..9}{0..9}{0..9} do echo "Now trying code.." echo $i echo "a fixed string" $i | nc localhost *port here* >> /tmp/me/dump.txt done Это было невероятно, мучительно медленно …

1
Как продолжить скрипт после перезагрузки машины?
Я пишу сценарий оболочки в Bash. В какой-то момент сценария он обнаруживает, что перед продолжением необходимо перезагрузить компьютер. Выдает: sudo reboot Когда машина возвращается, есть еще работа, которую должен выполнить этот скрипт. Как мне что-то настроить, чтобы продолжить работу в этом скрипте? Я предполагаю, что есть место, где я могу …


2
Как составить bash-функции, используя каналы?
У меня есть несколько функций, определенных таким образом: function f { read and process $1 ... echo $result } Я хочу собрать их вместе, чтобы вызов выглядел так f | g | h. Какую идиому я должен использовать для преобразования функции, работающей с аргументами, в чтение аргументов из стандартного ввода? …

2
Расширение переменной оболочки и влияние glob и split на него
Этот пост на самом деле содержит два отдельных вопроса, но я думаю, что их объединение даст больше контекста. Я прошел через этот вопрос о кавычках вокруг переменных, но я не совсем понимаю, что означает расширение переменных . Итак, мой первый вопрос: Что говорят расширения переменных в unix / linux? Вторая …

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