Как написать скрипт bash, который обрабатывает 3 различных набора «входов»

255
JonasV

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

Если переменная filepath / env (как мне правильно это настроить?) Не указана как аргумент arg в командной строке, я хочу, чтобы программа читала из stdin при вызове "./example.sh" в оболочке.

У меня есть мои программы на C, готовые обрабатывать ввод, но я не знаю, как «синтаксис» заданной ситуации в сценарии bash.

Вот что я имею в виду, первая строка должна проверить, является ли arg файлом, и устанавливает для ввода значение arg, если дано, если я не пытаюсь сделать input = minne, который является программным файлом в том же каталоге:

#!/bin/bash echo "Submitting path to program file..":  echo "Enter path if you see no result from execution: ":  [ $# -ge 1 -a -f "$1" ] && input="$1" || input="./minne"  if[nofile as argument]  #use a default path to file in same dir called minne to load  fi[nofilev2 as argument]  #path from stdin, looped so that user gets same question again  fi[$var as argument]  #extract the path from the variable and pass it to the c program  fi[filepath as argument]  #load given input path  ./makefile < minne: echo$? 

Как правильно использовать мой make-файл?

0
Разве вы не хотели бы использовать `elif` вместо просто` fi`, а затем нет нового `if`? А некоторые проверяют, что соответствует $ 1? И тогда работает ли ваш псевдоскрипт? Xen2050 6 лет назад 0

0 ответов на вопрос

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