shell- все статьи тега ➜ страница 3


Автоматический выход из скрипта оболочки bash при ошибке

я писал некоторый сценарий оболочки, и я бы счел его полезным, если бы была возможность остановить выполнение указанного сценария оболочки, если какая-либо из команд не удалась. См. ниже для примера: #!/bin/bash cd some_dir ./configure --some-flags make make install поэтому в этом случае, если скрипт не может перейти в указанный каталог, то он, конечно же, не захочет этого делать ./ настроить после этого, если это не удается. теперь я хорошо знаю, что у меня может быть проверка i ...

Как определить, является ли данный Linux 32 бит или 64 бит?

когда я типа uname -a, это дает следующий результат. Linux mars 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:50:33 EDT 2008 i686 i686 i386 GNU/Linux как я могу узнать из этого, что данная ОС 32 или 64 бит? Это полезно при написании configure скрипты, например: для какой архитектуры я строю? ...

Что означает set-e в скрипте bash?

Я изучаю содержание этого preinst файл, который скрипт выполняет перед распаковкой этого пакета из архива Debian (.файл deb). скрипт имеет следующий код: #!/bin/bash set -e # Automatically added by dh_installinit if [ "" = install ]; then if [ -d /usr/share/MyApplicationName ]; then echo "MyApplicationName is just installed" return 1 fi rm -Rf $HOME/.config/nautilus-actions/nautilus-actions.conf rm -Rf $HOME/.local/share/file-manager/actions/* fi # End automatically adde ...

Инструмент Bash для получения N-й строки из файла

есть ли "канонический" способ делать это? Я использую head -n | tail -1 Что делает трюк, но мне было интересно, есть ли инструмент Bash, который специально извлекает строку (или диапазон строк) из файла. под "каноническим" я подразумеваю программу, основная функция которой делает это. ...

Команда не найдена ошибка в присвоении переменной Bash

у меня есть этот скрипт называется test.sh: #!/bin/bash STR = "Hello World" echo $STR когда я запускаю sh test.sh Я получаю это: test.sh: line 2: STR: command not found что я делаю не так? Я смотрю на чрезвычайно простые / начинающие bash scripting tutorials онлайн, и вот как они говорят, чтобы объявить переменные... Так что я не уверен, что я делаю неправильно. Я на Ubuntu Server 9.10. И да, Баш находится по адресу /bin/bash. ...

Как сохранить интерактивный сеанс Python?

Я часто использую интерпретатор Python для работы с базами данных, файлами и т. д.-В основном много ручного форматирования полуструктурированных данных. Я не правильно сохраняю и очищаю полезные биты так часто, как хотелось бы. Есть ли способ сохранить мой вход в оболочку (соединения с БД, назначения переменных, немного для циклов и битов логики) - некоторая история интерактивного сеанса? Если я использую что-то вроде script Я получаю слишком много шума stdout. Мне действительно не нужно сол ...

Разница между одинарными и двойными кавычками в Bash

в bash, каковы различия между одинарными кавычками ('') и двойные кавычки ("")? ...

Сравнение чисел в Баш

Я начинаю узнавать о написании сценариев для терминала bash, но я не могу понять, как заставить сравнения работать правильно. Скрипт, который я использую: echo "enter two numbers"; read a b; echo "a=$a"; echo "b=$b"; if [ $a > $b ]; then echo "a is greater than b"; else echo "b is greater than a"; fi; проблема у меня в том, что он сравнивает число с первой цифры, т. е. 9 больше 10000, но 1 больше 09 Как я могу преобразовать числа в тип, чтобы сделать истинное сравнение? ...

Использование curl для загрузки данных POST с файлами

я хотел бы использовать cURL не только для отправки параметров данных в HTTP POST, но и для загрузки файлов с определенным именем формы. Как мне это сделать ? параметры HTTP Post: userid = 12345 filecomment = это файл изображения загрузка файла HTTP: Файл местоположение = /главная/пользователя user1/рабочий стол/тест.формат jpg Имя формы для file = image (соответствует $_FILES ['image'] на стороне PHP) Я понял часть команды cURL как следует: curl -d "userid=1&filecomment=This is an i ...

PHP shell exec () vs exec()

Я изо всех сил пытаюсь понять разницу между shell_exec() и exec()... Я всегда использовал exec() для выполнения команд на стороне сервера, когда бы я использовал shell_exec()? и shell_exec() просто сокращение для exec()? Это, кажется, то же самое с меньшим количеством параметров. ...

Как urlencode данные для команды curl?

Я пытаюсь написать сценарий bash для тестирования, который принимает параметр и отправляет его через curl на веб-сайт. Мне нужно кодировать значение url, чтобы убедиться, что специальные символы обрабатываются правильно. Каков наилучший способ сделать это? вот мой основной скрипт до сих пор: #!/bin/bash host=${1:?'bad host'} value= shift shift curl -v -d "param=${value}" http://${host}/somepath $@ ...

шаблон` find-name', который соответствует нескольким шаблонам

Я пытался получить список всех файлов python и html в каталоге с помощью команды find Documents -name "*.{py,html}". затем появилась страница man: фигурные скобки в шаблоне ('{}') не считаются особыми (то есть найти . - имя 'foo{1,2}' соответствует файлу с именем foo{1,2}, а не файлам foo1 и foo2. поскольку это часть цепочки каналов, я хотел бы иметь возможность указать, какие расширения он соответствует во время выполнения (без жесткого кодирования). Если найти просто не может этого сде ...

Как я могу тасовать строки текстового файла в командной строке Unix или в shell-скрипт?

Я хочу перемешать строки текстового файла случайным образом и создать новый файл. Файл может содержать несколько тысяч строк. как я могу сделать это с cat,awk,cut и т. д.? ...

Как запустить mvim (MacVim) из терминала?

У меня установлен MacVim, и я пытаюсь настроить его как редактор для Git (контроль версий), но я не могу запустить "mvim" из командной строки, поскольку он не распознается. Как настроить mvim, чтобы я мог запустить его из терминала? ...

Как найти, является ли переменная пустой в Bash

Как я могу проверить, если переменная пуста в bash? ...

Как представить несколько условий в операторе if оболочки?

Я хочу представить несколько условий такой: if [ ( $g -eq 1 -a "$c" = "123" ) -o ( $g -eq 2 -a "$c" = "456" ) ] then echo abc; else echo efg; fi но когда я выполняю скрипт, он показывает syntax error at line 15: `[' unexpected, где строка 15 показывает, если .... что не так с этим условием? Я думаю, что-то не так с (). ...

Linux: копирование и создание целевого каталога, если он не существует

Мне нужна команда (или, возможно, опция для cp), которая создает каталог назначения, если он не существует. пример: cp -? file /path/to/copy/file/to/is/very/deep/there ...

Заменить всю строку, содержащую строку с помощью Sed

у меня есть текстовый файл, который имеет определенную линию что-то вроде sometext sometext sometext TEXT_TO_BE_REPLACED sometext sometext sometext мне нужно заменить всю строку с This line is removed by the admin. ключевое слово поиска TEXT_TO_BE_REPLACED мне нужно написать shell-скрипт для этого. Как я могу достичь этого с помощью sed? ...

Разница между двумя каталогами в Linux

Я пытаюсь найти файлы, существующие в одном каталоге, но не в другом, я попытался использовать эту команду: diff -q dir1 dir2 проблема с приведенной выше командой, что она находит оба файла в dir1 а не dir2 а также файлы dir2 а не dir1, Я пытаюсь найти файлы dir1 а не dir2 только. вот небольшой пример того, как выглядят мои данные dir1 dir2 dir3 1.txt 1.txt 1.txt 2.txt 3.txt 3.txt 5.txt 4.txt 5.txt 6.txt 7.txt 8.txt другой вопрос на мой взгляд, как я могу найти файл ...

Разница между ожиданием и сном

в чем разница между wait и sleep? ...