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

13
Почему кавычки необходимы для аргумента файлов при вызове этого скрипта Bash?

Я довольно новичок в скриптах Bash. У меня есть «тестовый скрипт», который я использовал в качестве основы для более продвинутого / полезного скрипта: #!/bin/bash files=$1 for a in $files do echo "$a" done Когда я вызываю это без кавычек, он просто берет один файл в каталоге: testscript *.txt Но...

13
Как получить имя блочного устройства из имени устройства раздела?

Я ищу портативный способ получить имя устройства родительского блока (например /dev/sda), учитывая имя устройства раздела (например /dev/sda1). Я знаю, что могу просто выбросить последний символ, но в некоторых случаях это не сработает: Кард-ридеры MMC обычно имеют имена вроде /dev/mmcblk0, в то...

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

Я запутался, как включить необязательные аргументы / флаги при написании сценария bash для следующей программы: Программа требует двух аргументов: run_program --flag1 <value> --flag2 <value> Однако есть несколько необязательных флагов: run_program --flag1 <value> --flag2...

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

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

13
Манипулировать некоторыми плохо разделенными данными в полезном CSV

У меня есть некоторые выходные данные в виде: count id type 588 10 | 3 10 12 | 3 883 14 | 3 98 17 | 3 17 18 | 1 77598 18 | 3 10000 21 | 3 17892 2 | 3 20000 23 | 3 63 27 | 3 6 3 | 3 2446 35 | 3 14 4 | 3 15 4 | 1 253 4 | 2 19857 4 | 3 1000 5 | 3 ... Который довольно грязный и должен быть очищен до...

13
Запустить команду bash после нескольких одновременных команд?

Я хочу запустить некоторые команды параллельно. Когда все эти команды будут завершены, начните следующую. Я думаю, что следующий подход будет работать #!/bin/bash command1 & command2 & command3 && command4 но это не так. Мне нужно запустить, command4когда все первые три команды были...

13
Почему я получаю строку 1: $ ': \ r': команда не найдена?

Я использовал Cygwin на своем ноутбуке (DOS). У меня есть коллекция сценариев от моих коллег и мои собственные. Я не айтишник, не разбираюсь в Unix. Я следую синтаксису моих коллег и могу управлять несколькими простыми вещами. Скрипты хорошо работали на моем старом ноутбуке. Я только что поменял...

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
Зачем проверять наличие файла перед его поиском?

Когда вы пытаетесь найти файл, не хотите ли вы сказать, что файл не существует, и вы знаете, что исправить? Например, nvm рекомендует добавить это в свой профиль / rc: export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm С вышеупомянутым, если...

13
Bash цикл по списку строк

Можно ли отформатировать этот образец: for i in string1 string2 stringN do echo $i done к чему-то похожему на это: for i in string1 string2 stringN do echo $i done РЕДАКТИРОВАТЬ: Извините за путаницу, не понимал, что были разные методы выполнения сценария - sh <scriptname>против bash...

13
Можно ли распечатать содержимое содержимого переменной с помощью сценария оболочки? (косвенная ссылка)

Предположим, я объявил следующие переменные: $ var='$test' $ test="my string" Если я распечатаю их содержимое, я вижу следующее: $ echo $var $test $ echo $test my string Я хотел бы найти способ напечатать содержание содержимого $var(которое является содержанием $test). Поэтому я попытался сделать...

13
сценарий оболочки: использовать внутри него sudo против запуска с sudo?

При написании сценария оболочки, в котором некоторые, но не все команды в нем требуют привилегий суперпользователя, я должен добавьте sudo к тем командам, которым требуются привилегии суперпользователя, и запустите сценарий оболочки без sudo, или не добавлять sudo к тем командам, которым нужны...

13
Исполняемый файл с именем 'test' находится в $ PATH, но не запускается

У меня есть файл в $ HOME / bin (перед тем, как вы спросите, да, он находится в моем пути), testкоторый, как я подтвердил, может нормально выполняться, когда я запускаю его с полным путем к файлу. Тем не менее, я получаю действительно странную проблему, когда не запускаю ее таким образом. Когда я...

12
./executable: невозможно выполнить двоичный файл

У меня есть сценарий, который хорошо работает, когда я сам выполняю ssh на сервере, но у меня возникают проблемы, когда Hudson , сервер непрерывной интеграции, запускает его. Я автоматизирую тесты на встроенной системе Linux (цель). Цель подключена к серверу A (RHEL 5) через последовательный порт и...

12
Как передать md5 хэш результат в оболочку

Я ищу простой способ передать результат md5sumв другую команду. Что-то вроде этого: $echo -n 'test' | md5sum | ... Моя проблема заключается в том, что md5sumвыводит не только хэш строки, но также и перенос, который указывает на то, что ввод поступил из стандартного ввода. Я проверил файл man и не...