Как мне создать скрипт bash, который принимает пользовательский ввод в той же строке, что и скрипт? - PullRequest
1 голос
/ 07 июня 2011

Полагаю, я больше новичок, чем думал?:)

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

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

Итак, вот что я хочу сделать:

user@some-machine:~$ myscript variable

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

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

Заранее спасибо!

Кевин

Ответы [ 2 ]

3 голосов
/ 07 июня 2011

первый аргумент в bash-скрипте - $ 1, второй - $ 2 и т. Д. *

1 голос
/ 07 июня 2011

Вы также должны проверить getopts для обработки аргументов в стиле -x, как в Unix, например

your_script -d some_d_arg -x file1.txt file2.txt

так что отличайте аргументы вашего скрипта от имен файлов.

базовый пример:

#!/bin/bash
while getopts d:x arg
do
    case "$arg" in
        d) darg="$OPTARG";;
        x) xflag=1;;
        ?) echo >&2 "Usage: $0 [-x] [-d darg] file ..."; exit 1;;
    esac
done
shift $(( $OPTIND-1 ))

for file
do
    echo =$file=
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...