Ввод Linux Bash - PullRequest
       6

Ввод Linux Bash

0 голосов
/ 14 марта 2011

Есть вопрос о linux bash.Я хочу запустить программу, а затем отправить вход в нее.Обычно в де терминале я делаю просто, ./chat и затем что-то набираю.

Я не знаю, как это должно быть в Bash, я попробовал это:* Действительно не как.Надеюсь, у кого-нибудь будет решение.

Ответы [ 5 ]

1 голос
/ 14 марта 2011

Если я вас правильно понимаю - вы хотите ПЕРВЫМ получить какой-нибудь фиксированный текст в ТОГДА ты хочешь взять ввод с клавиатуры ...

ЕСЛИ это все, что вы хотите

cat  welcomeText.txt  - | ./chat

cat объединит ваш фиксированный текст (welcomText.txt, файл) затем он будет читать со стандартного ввода ("-")

Это будет отправлено ("|") в чат

Существуют более продвинутые способы сделать это, создав другой файловый дескриптор и выборочно писать в чат из различных источников

1 голос
/ 14 марта 2011
./chat << EOF
this is the input to chat
EOF
1 голос
/ 14 марта 2011

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

#! /bin/bash
echo Hi $1

. / Привет ТАК

о / р

Привет ТАК

РЕДАКТИРОВАТЬ:

создайте новый текстовый файл с нужным вам содержимым, а затем ./chat

0 голосов
/ 14 марта 2011

Ввод, который вы собираетесь набирать, может быть сохранен в некоторой переменной с помощью следующей команды:

read var

Это будет выполнять работу по сканированию всего ввода, который вы вводите после запуска программы исохраняя его в переменной "var".

Например:

Следующий код будет читать ввод и отображать то же самое:

read var 
echo $var
0 голосов
/ 14 марта 2011

Это разъясняет команды bash относительно аргументов командной строки:

#!/usr/bin/env bash

echo name of script is $0
echo first argument is $1
echo second argument is $2
echo seventeenth argument is $17
echo number of arguments is $#
...