Очень в новинку для человечности здесь, и мне присвоили создать сценарий оболочки удара prarg ниже. Терпите меня, я пытаюсь быть очень ясным путем обеспечения всех соответствующих примеров.
ПРИСВОЕНИЕ:
1. Измените prargs программу для предшествования каждому аргументу его числом. Таким образом, ввод prargs a 'b c' d
должен дать следующий вывод:
1: a
2: b c
3: d
Проблемой, которую я имею, является книжный пример, запускает следующий скрипт путем ввода "prargs b c". Когда я ввожу это, я получаю ошибку: prargs:command not found
. Как я заставляю сценарий выполнять этот путь? Единственным путем я могу запустить скрипт, с ./prargs.sh
или bash prargs.sh
.
Содержание сценария:
while [ "$#" -ne 0 ]
do
echo "$1"
shift
done
Поскольку я не могу выполнить его, как направлено, я застреваю. Направления и книга были очень неясны, я могу найти отрывки онлайн, но основным вопросом здесь является синтаксис для всего кода, и я не могу найти это.
Помощь? и Спасибо!
Основной проблемой является сценарий, имеет неправильное название prargs.sh
, когда имя файла должно быть prargs
. Вторая проблема должна быть "хижина" в вершине, говоря систему, это - сценарий удара:
#!/bin/bash
while [ "$#" -ne 0 ]
do
((Count++))
echo "$Count: $1"
shift
done
Примечание: Ваш сценарий отсутствовал 1:
, 2:
, и т.д. количество параметра. Я добавил что недостающие части с:
((Count++))
echo "$Count: $1"
Поэтому, когда Вы запускаете скрипт, Вы теперь видите:
$ prargs a 'b c' d
1: a
2: b c
3: d
следующая проблема звонит prargs
, не указывая местоположение впереди. При размещении сценария в один из путей, это будет найдено, не указывая каталог. Видеть Ваше текущее использование путей: echo $PATH
. Многие люди создадут путь в своем корневом каталоге для персональных сценариев:
mkdir -p $HOME/bin
После того, как это вновь открыло терминал, чтобы иметь его в Вашем пути. Поэтому создайте свой сценарий как [1 111] и затем отметьте его исполняемый файл:
chmod a+x $HOME/bin/prargs
После того, как это независимо от того, что Ваш текущий каталог - Вы, может ввести prargs a 'b c' d
.
Поскольку это необходимо, чтобы иметь сценарий в предопределенном пути, где оболочка может найти его.
примером, возможно, создают новый путь в домашнем dir и используют его для хранения сценариев следующими шагами:
ПРИМЕЧАНИЕ: сценарий, который будет выполняться, должен иметь разрешение выполнения, дать его так же просто как следующая команда: chmod +x FILE_NAME