Отладка Shell-программирования и cpp файлы?

У меня возникли проблемы с пониманием, как мой код работает. Я новичок в этом проекте и не научился Unix прежде. Мой коллега быстро показал мне, как запустить программу, но не объяснили, как она работает

Убедившись, что все c++ файлов составлены правильно, выполнив Make, он отправился в командной строке и ввели ./run.sh list.txt

Я взглянул на run.sh файл. Это ниже:

Реж=/каталог/скрипты/бинарники/что

Список=$1

во время чтения PDF
делать 
 Эхо "держись ${формате PDF}..." 
 ./makeInputAX.sh ${формате PDF} ${формате PDF} >вход/${формате PDF}.что-то 
 ${РЕЖ} -ТОПОР ВВОДА/${ФОРМАТЕ PDF}.что-то я не хочу, чтобы выявить действительные типы файлов я имею дело, поэтому я назвал их 'что-то'
сделано < ${список}

в makeInputAX.sh файл:

$PDF-файл=1
Эхо "файл Азбука/{формате PDF}.что-то"

и list.txt просто содержит:

12345

Так что я уже знаю, что run.sh читает, что находится внутри list.txtи назначает 12345 , чтобы быть в списке переменных. Я вижу держись 12345 в командной строке. Что меня смущает это то, что я думал run.sh проходит первый, затем вызывает makeInputAX.shтак как PDF файл будет назначен list.txtкогда это задание было в makeInputAX.sh не run.sh?

Что еще меня смущает, что в командной строке, затем я вижу выходы из программы, как они были написаны на cpp файлы, которые являются частью проекта. Однако, эти файлы находятся в отдельной директории, а не в /каталог/скрипты/бинарники/что. Я внес изменения в эти cpp-файлы и хотите увидеть новые выходы я должен сделать, но я получаю сообщение об ошибке:

 не мог открыть somethingelse файл для чтения

Тем не менее, не мог открыть .. нигде не написано в моем C++ коде. Чтобы исправить это, я должен посмотреть в моем cpp-файлы или что-то в эти SH файлы, которые могут помочь?

+385
Jones Kelly 18 февр. 2016 г., 11:05:25
30 ответов

Я пытаюсь написать правило в udev, что срабатывает, когда мой ноутбук кабель питания включен в Сеть, однако у меня возникли некоторые странные проблемы с его запуска несколько раз, как подключение и отключение.

Во-первых, я получаю имя устройства:

$ udevadm монитор --подсистемы-матч power_supply

Я уже знаю имя подсистемы, но это фактически не имеет значения. Потом подключите кабель питания.

Ядра[771.036377] изменение /устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
Ядра[771.553813] изменение /устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00/ACPI0003:00/power_supply/переменного тока (power_supply)
В udev [771.603337] изменение /устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00/ACPI0003:00/power_supply/переменного тока (power_supply)
В udev [771.791301] изменение /устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)

Из этого я могу видеть, что есть 4 мероприятия, 2 из которых принадлежат к устройству BAT0 и 2 устройства переменного тока.
Затем я смотрю на атрибуты устройства переменного тока, чтобы увидеть, что я могу вызвать из.

$ udevadm информация- /системы/устройства/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00/ACPI0003:00/power_supply/АС

глядя на устройство '/устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00/ACPI0003:00/power_supply/переменного тока':
ЯДРА=="АС"
Подсистемы=="power_supply"
Драйвера==""
Привлекательность{подсистема}=="power_supply"
М{POWER_SUPPLY_NAME}=="АС"
М{POWER_SUPPLY_ONLINE}=="1"

глядя на родительское устройство '/устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00/ACPI0003:00':
ЯДЕР=="ACPI0003:00"
Подсистемы=="с ACPI"
Драйверы=="ас"
У attrs{подсистема}=="совместимость с ACPI"
У attrs{драйвер}=="ас"
У attrs{MODALIAS}=="ACPI:в ACPI0003:"
У ATTRS{USEC_INITIALIZED}=="3654374"
У attrs{ID_VENDOR_FROM_DATABASE}=="Линукс Фонд"

глядя на родительское устройство '/устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08/PNP0C09:00':
ЯДЕР=="PNP0C09:00"
Подсистемы=="с ACPI"
Драйверы=="ЕК"
У attrs{подсистема}=="совместимость с ACPI"
У attrs{драйвер}=="ЕК"
У attrs{MODALIAS}=="ACPI:в PNP0C09:"
У ATTRS{USEC_INITIALIZED}=="3588332"
У attrs{ID_VENDOR_FROM_DATABASE}=="Линукс Фонд"

глядя на родительское устройство '/устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/устройство:08':
Ядер=="устройство:08"
Подсистемы=="с ACPI"
Драйверы==""
У attrs{подсистема}=="совместимость с ACPI"

глядя на родительское устройство '/устройств/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00':
ЯДЕР=="PNP0A08:00"
Подсистемы=="с ACPI"
Драйверы==""
У attrs{подсистема}=="совместимость с ACPI"
У attrs{MODALIAS}=="ACPI:в PNP0A08:PNP0A03:"
У ATTRS{USEC_INITIALIZED}=="3301031"
У attrs{ID_VENDOR_FROM_DATABASE}=="Линукс Фонд"

глядя на родительское устройство '/устройств/LNXSYSTM:00/LNXSYBUS:00':
ЯДЕР=="LNXSYBUS:00"
Подсистемы=="с ACPI"
Драйверы==""
У attrs{подсистема}=="совместимость с ACPI"
У attrs{MODALIAS}=="ACPI:в LNXSYBUS:"
У ATTRS{USEC_INITIALIZED}=="3246891"
У attrs{ID_VENDOR_FROM_DATABASE}=="Линукс Фонд"

глядя на родительское устройство '/устройств/LNXSYSTM:00':
ЯДЕР=="LNXSYSTM:00"
Подсистемы=="с ACPI"
Драйверы==""
У attrs{подсистема}=="совместимость с ACPI"
У attrs{MODALIAS}=="ACPI:в LNXSYSTM:"
У ATTRS{USEC_INITIALIZED}=="3107859"
У attrs{ID_VENDOR_FROM_DATABASE}=="Линукс Фонд"

От этого, пытаясь быть как можно более конкретным, используя атрибуты из самого устройства, а также родителей, которые я строю из этого правила:

Действия=="изменения"
Подсистемы=="power_supply"
Драйверы=="ас"
М{POWER_SUPPLY_NAME}=="АС"
М{POWER_SUPPLY_ONLINE}=="1"
Запустить+="/usr/Бен/Баш /home/josh/scripts/udev_sleep.sh"

После сохранения и отключения/переключения мой ноутбук, я считаю, что сценарий побежал в 10 раз. Есть ли способ, чтобы отслеживать, почему это происходит, когда монитор показал только 4 события (все, кроме одного, которого все равно нельзя совпали?)

Однако, возможно, есть более общая проблема, как я считаю, это правило срабатывает даже если очевидно несоответствие условий, содержащихся в ней, таких как

Действия=="изменения"
Подсистемы=="даже не право подсистемы!"
Драйверы=="ас"
М{POWER_SUPPLY_NAME}=="совершенно фальшивое имя"
М{POWER_SUPPLY_ONLINE}=="наверняка не правильно"
Запустить+="/usr/Бен/Баш /home/josh/scripts/udev_sleep.sh"

Я предполагаю, что что-то неправильно с тем, как я подбираю вещи, это не работа, как я думал? Я читал в udev страницу и все примеры онлайн, кажется, подобным же образом.

+981
Mahdi Samimi 03 февр. '09 в 4:24

Я знаю, что если я поставлю & в конце приложения в терминале, он будет работать в фоновом режиме и терминал по-прежнему может получать команды, например:

[email protected]хост:~
-> cutecom&
[1] 17269
[email protected]хост:~

он может выскочить cutecom приложения. Однако, мне нужно запустить это приложение с root, я не могу вход как:

[email protected]хост:~
-> Су cutecom&

если я никогда не запускать некоторые приложения с Су До, он будет выводить как:

[email protected]хост:~
-> Су cutecom&
[1] 17404
[email protected]хост:~
-> Нет запись passwd для пользователя 'cutecom'
+956
Brandon McClure 24 мая 2015 г., 23:33:22
Другие ответы

Связанные вопросы


Похожие вопросы

В Arch Linux также поддерживает даунгрейд пакетов и ядра. Вы можете также установить этого приложения и понизить инструментов для автоматизации процесса. Решение в Btrfs тоже работает, я использовал его, чтобы сделать ручной откат до.

Как мне откатить мою систему:

судо -я
смонтировать /dev/sda3 в качестве /шоссе/БГ #крепление верхней ее подраздел
ЛС #найти нужную версию
МВ @ @-старый #перемещение '/' подраздел (я назвала свое '@')
привязать ее суб @-<дата> @ #заменить на @ с резервной копией от <дата>
синхронизация
перезагрузка #изменения вступят в силу после перезагрузки системы

Одним из преимуществ ее является то, что вы можете использовать subvolumes и динамичный "разделы". Например, у меня есть подраздел для / (называется @), в /tmp (@ТМП) и /Home (Эт Хоум). Это легко для резервного копирования и отката любой из них. У меня /tmp в отдельный подраздел, потому что резервное копирование с остальной частью системы, кажется, бессмысленно, так как он стирается почти на каждой перезагрузки.

+952
oasieggr 8 мар. 2019 г., 06:07:33

Я получил день-в-день календарь на рабочий стол с головоломками. Одна из таких головоломок было расшифровать цитату, где буквы были заменены на символы. Я использовал некоторые RegExs, чтобы найти больше слов, а затем использовать возвращенные слова, чтобы решить более мелкие слова. В загадке, на белом фоне символы гласных звуков (в том числе 'г') и заштрихованном фоне символы согласных.

Я использую случайных букв ниже, где жирным шрифтом означает согласную, простые средства гласной и курсивом означает, что письмо было дано в стороны.

БОККЕ

Приведенный пример расшифровывается как "счастливый" ("е" уже было дано в загадке) с помощью регулярных выражений

 слова для egrep -я '^[bcdfghjklmnpqrstvwxz][aiouy][bcdfghjklmnpqrstvwxz]{2}[aiouy]$' 

Было много результатов, но я чувствую, что я мог бы сделать регулярное выражение лучше указать регулярное выражение логически, как

  1. Голец 1 согласная
  2. Гольца 2-это гласный, а не " е " потому, что был дан в стороны.
  3. Символы 3 и 4 той же согласной, но отличаются от Чара 1.
  4. Гольца 5-гласная, но отличается от Чара 2.

Другим примером может быть

О р е ш у Д О Н

где я использовал заявление грэп

слова для egrep -я '^([aiouy])[bcdfghjklmnpqrstvwxz]е[bcdfghjklmnpqrstvwxz][aiouy][bcdfghjklmnpqrstvwxz]\1Н$' 

чтобы логически определить поиск как

  1. Чар 1-гласная, и захваченную группу, потому что тот же чар появляется позже в слово.
  2. Чара 2 согласная.
  3. Чара 3-Это "е", учитывая.
  4. Чаре 4 согласная.
  5. Гольца 5-гласная.
  6. Чаре 6 согласная.
  7. Чаре 7 такой же гласный, как чар 1.
  8. Чар 8 будет 'N', учитывая.

К счастью, заявление грэп возвращается одно слово "американский" (шифр-текст цитату из фильма). Я хотел бы быть в состоянии указать в регулярном выражении, что char 4 согласная, а не такой же как char 2, гольца 5-гласная и не то же самое как char 1 и т. д.

Можно ли задать такой шаблону с RegExs? Я в курсе (х|г) синтаксис, чтобы указать, что персонаж может быть 'х' или 'Г', но я не знаю синтаксиса, если она существует, указывать (!х) и y

+870
Daniele Calabrese 18 авг. 2012 г., 01:53:01

У меня есть bash-скрипт под названием "Универсальный.bash" с:

#!/бин/Баш

( сон 30 && /usr/местные/Бен/РНР /home/scripts/misc/code.php ) &
( например, Sleep 60 && /usr/местные/Бен/РНР /home/scripts/misc/code.php )

Затем я выполните следующие действия, чтобы сделать скрипт исполняемым:

команду chmod +х /usr/местные/Бен/мой_сценарий.Баш

Он должен работать "code.php" каждые 30 секунд, когда я введите следующее в командной строки:

программа MyScript.Баш

Вместо этого я получаю:

-Баш: универсальный.Баш: команда не найдена.

Что я делаю не так?

+774
Tryama 23 июн. 2013 г., 11:51:24

Другая альтернатива:

Из PHP:

метод exec("./wrapper.sh");

В wrapper.sh:

#!/бин/Баш
./wrapperlogger.sh >/dev/нуль 2>&1 &

В wrapperlogger.sh:

./yourPythonScript
Эхо $? > exit_status.журнал

Первый фантик фоны процесс. Второй фантик отслеживает код выхода и записывает его в файл. Будьте осторожны, что этот скрипт будет перезаписывать один и тот же файл журнала каждый раз, когда он выполняется.

+764
Wobilor Gift O Jennifa 24 янв. 2011 г., 05:28:21

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

Ты путаешь то, что вы даете LS с какой ЛС дает вам. Пока ЛС не даст вам скрытые каталоги/файлы, вы можете дать ему скрытые каталоги/файлы в список. Которые вы сделали с помощью .* конкретно (упор делается на . не на *).

+688
Tapan Mukhopadhyay 29 янв. 2019 г., 16:05:58

У меня есть команда в моем .tmux.конф файл, который проверяет, чтобы увидеть, если каталог существует, то выводится сообщение, если его нет; и еще одна команда, которая пытается запустить shell-скрипт.

файл: ~/.tmux.конф

# сделать проверку и вывод сообщения если ненулевой
если-Шелл "! [-д $дома/.tmux]" ' - дисплее-сообщение "tmux плагины не установлены"'

# попробуйте запустить сценарий оболочки 
запустить-оболочки ~/.tmux/Плагины/tmux-воскрешать/воскрешение.tmux

Проблема в том, что tmux не отображать любые сообщения, которые генерируются во время запуска - это время я бы ожидал, что диагностические ошибки и предупреждения, которые должны быть созданы.

Что я запустить tmux, я получаю сообщение об ошибке в пейджер tmux это

(значение null):0: Нет текущей сессии 

где это явно не нравится быть отправлены сообщения.

Если я запускаю этот же команды, используя источник-файл ~/.tmux-конф в середине tmux сессии, все сообщения регистрируются успешно. Как я могу получить tmux сообщения во время запуска?

+584
Wingeer 9 мар. 2015 г., 02:39:37

Я использую рабочие столы Xfce Manjaro 0.8.8 прямо сейчас. Я хочу, чтобы запустить приложение в отдельном X сервере, поэтому я набрал следующую команду, чтобы запустить например хром:

xinit /usr/Бен/хром -- :1

но я получаю эту ошибку:

Фатальная ошибка сервера:
Не удается переместить старый лог файл "/var/журнал/файл xorg.1.войдите" в "каталоге/var/журнал/файл xorg.1.журнал.старый"


Пожалуйста, обратитесь в X.Org Фонд поддержки 
 в http://wiki.x.org
 для справки. 
+573
Kolonka 2 июл. 2018 г., 00:35:01

Вы можете просматривать источник в GNU coreutils по саванне (или клонировать репозиторий на своей машине), и, в частности, посмотреть на источник и изменений в убить полезности. Нет и никогда не было такой функции.

делать {
 intmax_t Н = (значение errno = 0, strtoimax (арг &конечное, 10));
...
 если (значение errno == значение erange || пид != Н || арг == конечное || *конечное)
{
 Ошибка (0, 0, _("пользователь %s: недопустимый идентификатор процесса"), арг);
 статус = EXIT_FAILURE;
}
...
} пока ((арг = *++argv в));

На странице вам ссылку для убить команду из пакета util-Linux в коллекции. Как вы можете видеть из даты man-страницы, эта функция очень старый. Во многих системах Linux грузить убить команду из GNU coreutils, или один из procps по упаковке, и большую часть времени вы увидите, что ваши раковины встроенные, а не внешние команды в любом случае. Ни один из это позволяет пройти голой командной имя в качестве аргумента.

На соответствующую записку, в bash, KSH и ЗШ, вы можете пройти любое задание спецификация в качестве аргумента, чтобы убить. Квалификационные требования начинаются с % и может сопровождаться Задание номер или часть названия команды на эту работу.

$ вакансии
[3] + бег сна 9999 &
[2] - остановить ВИМ фу
[1] работает в xterm &
$ убить %сна
[3] + прекращено спать 9999 &
$ вакансии
[2] + остановлено ВИМ фу
[1] - работает в xterm &
+563
Ema4rl 15 окт. 2016 г., 12:52:47

Вы можете изменить свой хрон строку:

 * * * * * /Бен/ш commannd1..; или /bin/tcsh в команда2... ; /бин/ЗШ command3

Это более экстремальный случай. Но вы можете префикса имя конкретной оболочки до команды.

Другой вариант-это эхо всех команд на конкретную оболочку

 * * * * * comand1 Эхо '...; команда2....;command3...' | /Бен/ш 
+555
henry bird 30 мар. 2012 г., 21:34:24

Персональные данные в файле/etc/passwd с пользователем имена, адреса офисов и номера телефонов. Это версия 1970-х годов в телефонной книге компании. Когда система Unix была разработана, предполагалось, что люди, которые имеют учетную запись на той же машине будут членами той же организации (коллеги, сокурсники и т. д.).

Если вы не хотите, чтобы ваши пользователи имели доступ к такой информации, не храните его в базе данных пользователей. Пользователи могут редактировать свои личные данные с при вызове команды.

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

+515
ptaeck 3 июл. 2018 г., 13:13:04

Я бы начал с измерения скорости тупой ПТС возможна трансляция. Обычный FTP (не SFTP или FTPS) сделал бы это. Если по каким-то причинам ФТП не работает (брандмауэры могут быть проблемы), попробуйте с netcat.

ФТП просто буквально бросает байт в сокет. Пока он использует полный размер TCP-пакета, и мы говорим об одном файле, вы не можете использовать протокол TCP более эффективно. Так что это даст вам ориентир, что может быть достигнуто между двумя хостами.

(Есть некоторые UDP-протоколы, которые могут идти быстрее, в глобальной сети, избегая ожидать TCP ACK пакеты, но ни один из этих обыкновенно используемый стандарт).

Однако следует отметить, что FTP не сжимать, так что это может занять больше времени для некоторых видов данных. Это хорошо для нашей целью измерения пропускной способности только TCP.

Если FTP идет слишком медленно/несимметричные, то это может быть просто, что есть асимметричный ссылка на маршруте между этими машинами. Вы могли бы сделать некоторые уточнения диагноза, запустив сниффер Wireshark на обоих концах, и проверка трассировки для потерянных пакетов и т. д.

Если FTP быстро и симметрично, то у вас есть некоторые другие проблемы. Не вникая в глубокие, трудно догадаться, и есть много возможностей. Например, одна машина в СШ может быть настроено на сжатие, а другое-нет.

+513
SharonYU 17 мар. 2018 г., 14:12:45

Да есть много способов.

Во-первых, включить сетевой загрузки в BIOS.

enter image description here

Требования: другой компьютер с настройка PXE-загрузки.

Вы можете использовать сетевой установки и установка с помощью PXE-загрузки.

Вот ссылка, которая описывает весь процесс..(следующий процесс должно быть сделано в другом компьютере)

Из Windows: нажать здесь

Из Linux: Нажмите здесь

+474
user3154011 7 авг. 2016 г., 21:49:00

Я пытаюсь прочитать пользователя и сервера данные из файла tempo.txt а затем проверить использование дискового пространства файловой системы, на что Unix аккаунт, используя другой скрипт server_disk_space.sh.Но я не в состоянии выяснить, почему цикл while работает только для первой строки и цикл for работает нормально.Пожалуйста, помогите мне понять это.

Используя цикл while

#!/УСР/бин/КШ
пока чтение строки
делать
Р1=`Эхо $строки | вырезать -д"#" -Ф1`;
Р2=`Эхо $строки | вырезать -д"#" -Ф2`;
apx_server_disk_space.sh $Р2 $Р1
сделано<tempo.txt

Выход

8

Используя цикл for

#!/УСР/бин/КШ
для линии в $(кошка tempo.txt)
делать
Р1=`Эхо $строки | вырезать -д"#" -Ф1`;
Р2=`Эхо $строки | вырезать -д"#" -Ф2`;
apx_server_disk_space.sh $Р2 $Р1
сделано

Выход

8
23
54
89
12

Содержание server_disk_space.sh

#!/УСР/бин/КШ
пользователь=$1
сервер=$2
граф=`СШ ${пользователь}@${сервер} "ДФ-ч". `
Эхо ${граф} | у awk '{печати 12$}' | тр -д %

Вышеприведенный скрипт выведет значение использовать процент свободного использования на любом сервере .


Содержание tempo.txt

abclin542#abcwrk47#
abclin540#abcwrk1#
abclin541#abcwrk2#
abclin543#abcwrk3#
abclin544#abcwrk33#
+464
Alberto Atzei 17 февр. 2017 г., 06:52:10

Данный выпуск рассылки поставляется с данной версии каждой программы. Вот что значит отпустить все. (Есть “выпуска” дистрибутивов, где вы проводите все свое время обновление до следующей версии каждой части программного обеспечения. Если у вас есть лучшие вещи, чтобы сделать с вашим временем, придерживаться выпущенный дистрибутив.)

В версии zlib1g пакет в Ubuntu 12.04 (точным) является 1.2.3.4, и версией в Ubuntu 12.10 (дискретные) является 1.2.7. Вы можете загрузить исходный пакет (все три файла: .ДСК, .diff.gz и .orig.tar.gz или .debian.tar.gz) от Убунту сайт, а затем скомпилировать эту версию в виде пакета.

судо apt-получить установку сборки-незаменимая команда
суда apt-получить строить-ДЭП с zlib
с dpkg-источник zlib_1.2.7.смотрите 13.ДСК
компакт-диск с zlib-1.2.7.смотрите
с помощью dpkg-buildpackage используйте файл -rfakeroot -США -ОК -б -НЗ
судо apt-получить установку ../zlib1g-1.2.7.*.деб

Обратите внимание, что установка новой версии библиотеки может привести к несовместимости. Для работы с zlib, я сомневаюсь, что вы будете иметь проблемы, но это не то, что вы должны сделать, слегка.

Кроме того, установить более новую версию библиотеки в домашний каталог и использовать его только для конкретной программы, которая в ней нуждается. Если вы скомпилировать и установить zlib в ~/lib в/zlib1.2.8/Либ, вот подходящий фантик скрипт:

#!/Бен/ш
экспорт переменной LD_LIBRARY_PATH=~/Либ/zlib1.2.8/Либ
старпома vcftools "[email protected]"
+451
Anastasia2012 6 мая 2010 г., 13:36:35

Вы должны рассмотреть вопрос об установке нового ядра, по сравнению с модернизацией вашего нынешнего ядра. "Установка" и "обновление" Не (или не обязательно) синонимы. Установка нового ядра будет держать ваши существующие ядра(с) и по умолчанию предыдущем ядре(ы) будут отображаться в меню GRUB, и если новое ядро не работает как нужно, можно перезагрузиться и начать с предыдущего ядра. ням установки ядра и ням обновление ядра будет выполнять установку нового ядра в эту сторону. об / мин -У, где -U-это для "обновления" не будет - это приведет к перезаписи существующего ядра, и если это "новый и улучшенный" Кернел не работает, вы не можете иметь запасной вариант.

+414
rekarnar 30 апр. 2013 г., 11:33:23

Сценарий на AIX, который проверяет количество параметров, переданных и жалуется, если они не верны:-

если [ "$#" -быт 1 ]; тогда
...
еще
 использование Эхо ': программа MyScript <а> [б] [с]'
интернет

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

. ./myscript.sh

Если я пройду его без параметров, я ожидал его, чтобы распечатать заявление, но вместо этого он работает, используя параметры, переданные предыдущей команды, которая была получена (не обязательно даже этот сценарий!).

Чтобы проверить это, я добавил эту строку в начале скрипта, чтобы доказать, что это было.

Эхо $# [email protected]

Если я пройду ее без параметров, она выводит количество и список параметров из ранее найденный скрипт.

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

Наименьший возможный пересоздать скрипт таким образом:-

myscript.sh

Эхо $# [email protected]

а затем запустить его таким образом:-

. ./myscript.sh А Б в

что распечатывает

3 А Б

затем запустить его снова без каких-либо параметров таким образом:-

. ./myscript.sh

который выводит же

3 А Б

когда вы ожидаете его распечатать

0

Если вы не исходный скрипт и выполнить его таким образом:-

./myscript.sh

затем он работает, как ожидалось, и распечатывает

0

Я надеюсь, что это проясняет вопрос.

Я, кажется, получаю много ответов, чтобы объяснить, почему выше не работает и не отвечает, чтобы сказать мне, что я должен делать вместо этого, я думал, что есть еще одна попытка на то, чтобы объяснить, что я пытаюсь сделать.

Требование

Мне нужно написать скрипт, который ожидает, по меньшей мере, одного параметра и жалуется, если он не вызывается с указанной величины (см. Первый блок кода в мой вопрос выше), и этот скрипт должен установить некоторые переменные окружения. Из-за этого второе требование я предположил, что мне нужно в скрипте переменные среды, еще когда сценарий завершает работу. Как можно написать скрипт, который может сказать, когда он не принят параметров, которые также могут установить переменную окружения?

+391
seigh 7 сент. 2015 г., 00:32:47

Операционная система: Linux Минт 18.1 64-разрядной корицы

Версия ядра: 4.4.0-62-универсальный #83

Подкачки: раздела; 8ГБ

Соответствующего оборудования:

Я посмотрел на одном компьютере:

в /var/журнал/системный журнал

И я узнала, он полностью заполнен с этими своп ядра ошибки.

Во-первых, существуют мириады этих:

14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049442] swap_free: плохо поменять запись 438000004300
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049444] ошибка: неверный страницы карты в процессе ScriptStreamerT ПТЭ:87000000860000 ПМД:359a0067
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049446] адрес:00007fb40fa03000 vm_flags:08000070 anon_vma: (нуль) картография:индекс ffff8802407251e0:Эд
14 февраля 12:14:52 РБ-НБ-мятный ядра: файл [187383.049452]: libplds4.так вина:ext4_filemap_fault мкарта:ext4_file_mmap readpage:ext4_readpage
14 февраля 12:14:52 РБ-НБ-Мята ядра: [187383.049455] процессор: 2 ПИД: 8036 комм: ScriptStreamerT душком: Г Б 4.4.0-62-универсальный #83-Убунту
14 февраля 12:14:52 РБ-НБ-мятный ядра: [187383.049457] скобяными название: компания Lenovo 20354/Улан 5A5, БИОС 9BCN31WW 04/20/2015
14 февраля 12:14:52 РБ-НБ-мятный ядра: [187383.049458] 0000000000000286 00000000b31f5a18 ffff88022aacfa58 ffffffff813f7c63
14 февраля 12:14:52 РБ-НБ-мятный ядра: [187383.049460] 00007fb40fa03000 ffff8800a69debb8 ffff88022aacfaa8 ffffffff811bdcef
14 февраля 12:14:52 РБ-НБ-мятный ядра: [187383.049463] ffff88022aacfa80 ffffffff811d4e40 0000438000004300 0087000000860000
14 февраля 12:14:52 РБ-НБ-мятный ядра: [187383.049466] трассировки вызовов:
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049468] [<ffffffff813f7c63>] dump_stack+0x63/0x90
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049472] [<ffffffff811bdcef>] print_bad_pte+0x1df/0x2a0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049474] [<ffffffff811d4e40>] ? swap_info_get+0xb0/0xd0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049478] [<ffffffff811bf678>] unmap_page_range+0x468/0x7a0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049481] [<ffffffff811bfa2d>] unmap_single_vma+0x7d/от 0xe0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049484] [<ffffffff811c04f1>] unmap_vmas+0x51/устройства 0xa0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049487] [<ffffffff811c9a77>] exit_mmap+0xa7/0x170
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049491] [<ffffffff8107e0a7>] mmput+0х57/0x130
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049494] [<ffffffff81083f2a>] из do_exit+0x27a/0xb00
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049499] [<ffffffff8110045c>] ? __unqueue_фьютекс+0x2c/0x60
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049501] [<ffffffff81100f7e>] ? futex_wait+0x16e/0x280
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049506] [<ffffffff8119f41b>] ? release_pages+0xdb/0x2b0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049509] [<ffffffff81084833>] do_group_exit+0x43/0xb0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049513] [<ffffffff810909b2>] get_signal+0x292/0x600
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049518] [<ffffffff8102e567>] do_signal+0x37/0x6f0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049522] [<ffffffff8113d15f>] ? seccomp_phase1+0x9f в/0x280
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049526] [<ffffffff81833e16>] ? __расписание+0x3b6/0xa30
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049530] [<ffffffff8100320c>] exit_to_usermode_loop+0x8c/0xd0
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049532] [<ffffffff81003c6e>] syscall_return_slowpath+0x4e/0x60
14 февраля в 12:14:52 РБ-НБ-мятный ядра: [187383.049536] [<ffffffff81838750>] int_ret_from_sys_call+0х25/0x8f

И после этого наступает некий список этих ошибок:

14 февраля 12:14:52 РБ-НБ-мятный ядра: [187383.053016] swap_free: плохо поменять запись 588000005800

Обратите внимание, что этот компьютер приостанавливает в памяти очень часто, где очень часто означает как 10-20 в день. Я отмечаю это в качестве возможной корреляции с этой проблемой.

Может ли раздел swap быть сломан или что-то?

+350
alexandersix 5 мар. 2019 г., 09:10:16

Я думаю, что вы ищете принять-точный стиль, который вы хотите установить в false.

человек zshcompsys

принять-точно
 Это проверено для тега по умолчанию в дополнение к тегам действительны для текущего контекста. Если он установлен в `true' и ни одного судебного процесса соответствует такое же, как и строка в командной строке, этот матч будет сразу
 принимаются (даже если он в противном случае были бы сочтены).
+347
Jimmy Downer 8 июн. 2010 г., 05:02:37

Я использую в CentOS 6.7 (установлена Java последней версии) и скачал гумз-5.3.2.тгз от http://a.mbbsindia.com/lucene/solr/5.3.2/. Тогда я unziped в моем каталоге /опт/гумз-5.3.2 и тогда я начал гумз с помощью команды

бин/гумз старт-электронное облако -noprompt

После этого Solr запустился нормально, без всяких проблем, а затем я проверил порт слушает хорошо и налажено. Ниже моей печати после запуска гумз.

 Добро пожаловать в SolrCloud пример!

Запуск 2 Гумз узлы для примера SolrCloud кластера.

Создание Гумз домашнюю директорию /opt/гумз-5.3.2/пример/облака/узел1/гумз
Клонирование /опт/гумз-5.3.2/пример/облака/узел1 в
/опт/гумз-5.3.2/пример/облака/Узел2

Запуск Solr в порт 8983, используя команду:
бин/гумз начать -облако -п 8983 -с "пример/облака/узел1/гумз"

Ждем до 30 секунд, чтобы увидеть Гумз работает на порту 8983 [\]
Начал Гумз сервер на порту 8983 (пид=8560). Удачного поиска!

Запуск Solr в порт 7574, используя команду:
бин/гумз начать -облако -п 7574 -с "пример/облака/Узел2/гумз" -з localhost в:9983

Ждем до 30 секунд, чтобы увидеть Гумз работает на порту 7574 [\]
Начал Гумз сервер на порту 7574 (пид=8776). Удачного поиска!

Подключение к ленивца на localhost:9983 ...
Загрузки /опт/гумз-5.3.2/сервер/гумз/configsets/data_driven_schema_configs/conf для конфигурации "приступая к работе" для боец на localhost:9983

Создавая новую коллекцию 'приступая к работе' с помощью команды:
http://localhost:8983/solr/admin/collections?action=CREATE&name=gettingstarted&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted

{
"responseHeader":{
"статус":0,
"QTime":22130},
"успех":{"":{
"responseHeader":{
"статус":0,
"QTime":20693},
"ядро":"gettingstarted_shard2_replica2"}}}

Включение автоматического мягкой фиксации с максимальное 3 секунды, используя конфигурационный API-интерфейс

Размещения запрос в config API-интерфейс: http://localhost:8983/solr/gettingstarted/config
{"комплект-отель":{"updateHandler.autoSoftCommit.задачи":"3000"}}
Успешно установлен-собственность updateHandler.autoSoftCommit.задачи до 3000


Пример SolrCloud работает, пожалуйста, посетите: http://localhost:8983/solr

Теперь проблема, когда я попытался открыть консоль с помощью гумз http://localhost:8983/solr или http://localhost:8983я получаю следующую ошибку:

"Сбои Инициализации SolrCore"

а также получая соединение потеряно.

Примечание: Контрольный Список

Порт слушает

ядра создаются с помощью команды

Перезапускается много раз

+308
mnz 1 февр. 2010 г., 01:41:28

Есть ли решение/обходное решение для отсутствует имя столбца текста на уторрент 3.4.30635-1 под вино 1.7.14-1 ?

я пытался изменить Настройки > Расширенные > Сыс.enable_wine_hacks, но он ничего не делает..

+224
Raju Das 6 дек. 2013 г., 20:10:32

Как хранить цветной текст в переменную и распечатать его с цветом позже?

Я не вижу ответа на этот вопрос в 100 поисков все о ПС1 приглашения, или встроенные функции printf или с помощью данных из LS-цвет. Мне нужно, чтобы добавить цвет к переменной и его печати раскрашенная позже.

имя="Привет"
имя=$имя"\е[36М\(тест\)\е[0м"
Эхо $имя
е $имя

в ouptut я получаю от это:

Привет \е[36М(тест)\e0m

Он не раскрасить из данных в переменной.
как мы храним цветовой код в переменную для последующей печати
Спасибо
Jaeden "Сайфо Диаса" Аль'Raec Обломщик

+201
Fred Donghwan Kim 21 июн. 2016 г., 15:39:26

В каталоге/dev дерево содержит узлы устройства, который дает пользователю пространство доступ к драйверов в вашей ОС работает на ядре.1 Все в POSIX тип операционки есть /Дев дерево.

В файле/proc дереве возникла в системе в Unix, где он только дал информацию о каждом запущенном процессе, с помощью файла/proc/$PID в/материал схемы. Линукс значительно расширен, что, добавляя всевозможную информацию о запущенных ядра статуса. В дополнение к эти сведения только для чтения файлов, Linux в файле/proc также для записи виртуальных файлов, которые могут изменить состояние работающего ядра. Тип BSD операционных систем, как правило, не имеют в/proc , так что многое из того, что вы найдете здесь-это не портативный.

Если решение за этот бардак в ОС /прок есть файл/sys. В идеале, все номера-обрабатывать информацию, что получил, использовал в файле/proc дерево должны были переезжать в файл/sys , но историческая инерция сохранила много вещей в файле/proc. Часто существует два способа изменения в ядре: старый /тез образом, сохраняется для обратной совместимости, и новый файл/sys образом, что ты должен быть сейчас.2


Сноски:

  1. Есть также несколько как/dev записи, которые не соответствуют аппаратным устройствам, таким как /dev/нуль, как/dev/случайных, и на/dev/телетайп. Эти виртуальные устройства, которые позволяют космических программ пользователя соединиться с другими частями ядра кроме запущенных драйверы в устройства, как мода.

  2. Как правило, файл/sys имеет тенденцию быть более строго организовано, чем в/proc, так как каталог/sys отражает внутреннее ядро структуры данных, которые управляют системой ресурсов, в то время как в/proc выросла органически на протяжении многих лет, и старые сомнительные проектные решения не может изменить сейчас, потому что есть программы, используя эти старые интерфейсы. файл/sys начинал с ясным дизайном, и не придется тащить вокруг столько исторический багаж, как в/proc.

+199
Sarthak Kanade 6 дек. 2017 г., 17:47:32

Я побежал кода валюты XDG-MIME в запросе типа файла <имя файла> проверить MIME-тип файла, и это не удалось. Как я могу печатать код ошибки (код выхода) из кода валюты XDG-MIME в команду?

Я хочу знать, что произошла ошибка:

  1. Ошибка в синтаксисе командной строки.
  2. Один из файлов в командной строке не существовало.
  3. Необходимый инструмент не может быть найден.
  4. Действие не удалось.
  5. Без разрешения прочитать один из файлов в командной строке.
+189
crush984 1 июн. 2018 г., 07:30:19
Дворака раскладка клавиатуры.
+158
Mike Bauerle 13 сент. 2019 г., 15:55:11

зависимостям пакеты пакет должен работать ( например, библиотеки и т. д. ). Если вы установите пакет через способность / кв / синаптическую это будет проверять зависимостям и скачать их.

Если вы скачать .deb файл и попробуйте установить его вручную, это может быть не так. Как упоминалось раньше вам нужно установить необходимые пакеты перед повторной установкой скайп:

Ф.е.:

способность установить lib32stdc++6 lib32asound2 ia32-библиотеки пакетом libc6-i386 в lib32gcc1 ia32-библиотеки-ГТК

Я не 100% уверен, что эта команда будет работать. Если aptitude / кв. жалуется, что не может найти пакет, который вы можете найти в репозитории на правильное название:

профпригодность поиска ia32-библиотеки

затем, однажды, что все эти пакеты установлены, Вы можете снова установить Skype:

команды dpkg -я в Skype-установите.деб
+118
Kdub 19 янв. 2012 г., 13:29:26

Без использование eval.

это не будет работать:

астр=(а б) 
стр="#астр[@]"
Эхо "${!ул.}"
+89
Liyuan 6 июн. 2014 г., 11:19:04

Вы можете сделать это, используя переименовать comamnd. В вашем случае вы сделали бы переименовать eventDataLog.тхт.АВС-eventDataLog 2015.тхт.2015 eventDataLog.txt*.

Синтаксис ее использования переименуйте frompattern topattern listoffilessuchaswildcardmatch.

+81
user179723 3 мар. 2012 г., 16:37:30

Выполнить:

грэп флаги в /proc/cpuinfo для

Найти 'лм' флаг. Если он присутствует, это означает, что ваш процессор 64-битный и поддерживает 64-разрядные операционные системы. 'лм' выступает за долгий режим.

Кроме того, выполнить:

грэп флаги в /proc/cpuinfo для | грэп " лм "

Обратите внимание на пробелы в " лм ". Если это дает никаких выходных данных на всех, ваш процессор 64-битный.

Обновление: вы можете использовать следующие команды в терминале тоже:

процессор lshw-з | ширина грэп

Это работает на Ubuntu, а не уверен, если вам нужно установить дополнительные пакеты для Fedora.

+27
CrankyTechGeek 11 июн. 2013 г., 17:33:58

Показать вопросы с тегом

$200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil