передать пароль для входа в CVS из аргумента командной строки

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

Возьмем, например, определение функции ниже

compile()
{
  gcc "$1" -o "${1%%.*}" && printf "<<< Compiled successfully\n"
}

Поместив его в ваш файл .bashrc (а затем запустив source ~/.bashrc или открыв новую вкладку терминала), вы можете запустить эту команду из любого места, не добавив ~/bin к своей переменной PATH и укажите имя файла как аргумент командной строки, например

compile somecode.c

. На боковой ноте вы можете отредактировать этот файл, просто позвонив gedit ~/.bashrc из командной строки

. Для тех из вас, кто задавался вопросом что "$1" и "${1%%.*}", "$1" относится к первому параметру командной строки (в данном случае "somecode.c"), как и для "${1%%.*}" - это расширение параметра, особенно то, что делает удаление суффикса, и будет выбросьте что-нибудь после точки. Другими словами, это превращает somecode.c в somecode. Для получения дополнительной информации прочитайте раздел справочной страницы bash о расширении параметра

0
задан 13 August 2018 в 13:36

1 ответ

Я должен установить для этого ожидание.

Установить ожидать:

sudo apt-get update sudo apt-get install ожидать

My test.sh файл:

#!/usr/bin/expect
spawn cvs -q -d :pserver:username@190.190.190.190:2401/root/cvsrepo login
expect 
send -- "hello\r"
expect eof
0
ответ дан 15 August 2018 в 17:04

Другие вопросы по тегам:

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