Tag: shell script

запустить скрипт perl с неизвестным местоположением perl

Я разрабатываю скрипт perl, который, как ожидается, будет загружен пользователями Mac с очень небольшим знанием оболочки, linux и т. Д., Скажем, офисных менеджеров и бухгалтеров. После загрузки сценарий должен выполняться просто двойным щелчком по графическому интерфейсу. Моя цель – сделать это настолько безболезненным, насколько это возможно для нетехнического пользователя. Мои сомнения: после загрузки сценарий не […]

Как написать очень простую оболочку, которая предоставляет параметры по умолчанию?

Учитывая программу, которая требует некоторых параметров, например program -in file.in -out file.out , какой простой подход мог бы написать сценарий bash, который можно было бы вызвать с помощью или без каких-либо из этих параметров и использовать значения по умолчанию для каждый? script -in otherfile будет запускать program -in otherfile -out file.out , script -out otherout […]

как мы можем использовать awk для получения нескольких слов после значительного слова?

Я хочу подключиться к моей БД только один раз, чтобы выполнить несколько запросов SELECT следующим образом: #!/bin/bash #Begin Code query=$(echo "SELECT COUNT(*) from USER_IPTable; SELECT User from USER_IPTable; SELECT IP_Address from USER_IPTable;" | mysql -u root –password='PASS' MatchingDB) это вернет что-то вроде этого: COUNT(*) 3 User user1 user2 user3 IP_Address 192.168.1.17 192.168.1.24 192.168.1.17 Мне удалось […]

Ввод графического интерфейса для сценария оболочки

У меня есть сценарий оболочки, который устанавливает программу в RedHat. Мне нужно добавить графический интерфейс для ввода некоторых параметров, чтобы он выглядел как мастер установки. Я пробовал Xdialog, Zenity и Yad, но каждый из них поддерживает только один ввод данных для каждого окна; Мне нужно отобразить все шаги в одном окне. Что я могу использовать […]

Назначить имя файла переменной с расширением pathname

Есть ли надежный способ присвоить имя файла переменной, использующей расширение пути? Это работает, но выглядит довольно хитроумным: the_file="$(echo ~/downloads/stack-*-linux-x86_64-static.tar.gz)" Если файл существует, его полный путь присваивается $the_file , в противном случае вместо этого используется фиктивный шаблон glob.

Очистить содержимое файла

Мне известно о трех методах удаления всех записей из файла. Они есть >filename touch filename filename < /dev/null Из этих трех я злоупотребляю >filename поскольку это требует наименьшего количества нажатий клавиш. Однако я хотел бы знать, какая из них самая эффективная из трех (если есть более эффективные методы) в отношении больших файлов журнала и небольших […]

как мне обрезать ведущие и конечные пробелы из каждой строки некоторого вывода?

Я хотел бы удалить все начальные и конечные пробелы и вкладки из каждой строки вывода. Есть ли простой инструмент, например, trim я мог бы вывести свой вывод? пример файла: test space at back test space at front TAB at end TAB at front some empty lines with differing TABS and spaces: test space at both […]

Почему «sudo su» в сценарии оболочки не запускает остальную часть скрипта как root?

Пример сценария может быть следующим: #!/bin/bash sudo su ls /root При использовании ./test.sh в качестве обычного пользователя вместо этого запускайте ls как суперпользователя и выходите, он переключается на root; и когда я выхожу из системы, он запускает ls /root как обычный пользователь. Может ли кто-нибудь рассказать мне об этом механизме?

В Bash, если и если то же самое?

В сценариях оболочки Bash какая разница (если есть) между двумя следующими утверждениями? 1.) if [ -z "$1" ] 2.) if [ "$1" = "" ] Я обнаружил, что записываю второй в некоторых сценариях, но затем я читал здесь, что использование -z достигает того же. Если есть проблемы с использованием второго, следует ли проигнорировать, что первый […]

sudo: невозможно выполнить ./script.sh: нет такого файла или каталога

Я в тупике. У меня есть сценарий в моем /home каталоге, который является исполняемым: [user@server ~]$ ll total 4 -rwx—— 1 user user 2608 Jul 15 18:23 qa.sh Однако, когда я пытаюсь запустить его с помощью sudo он говорит, что не может найти его: [user@server ~]$ sudo ./qa.sh [sudo] password for user: sudo: unable to […]

Interesting Posts
Linux и Unix - лучшая ОС в мире.