Как я делаю программную оболочку запущенной с названием сценария? и справка сценария

Очень в новинку для человечности здесь, и мне присвоили создать сценарий оболочки удара 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

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

Помощь? и Спасибо!

1
задан 30 November 2019 в 21:08

2 ответа

Основной проблемой является сценарий, имеет неправильное название 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.

1
ответ дан 7 December 2019 в 13:13

Поскольку это необходимо, чтобы иметь сценарий в предопределенном пути, где оболочка может найти его.

примером, возможно, создают новый путь в домашнем dir и используют его для хранения сценариев следующими шагами:

  1. Создают папку с именем, которое Вы хотите.
  2. Открытый .bashrc в корневом каталоге (например, в терминальном нано типа .bashrc).
  3. Перемещение в конец файла и копии вставляет следующее: экспортируйте ПУТЬ = "/home/YOUR_USER_NAME/THE_FOLDER_CREATED_FOR_YOUR_SCRIPTS: $PATH"
  4. Перезагрузка Теперь при помещении чего-то в папку, что Вы создали Вас, может выполнить его только с именем

ПРИМЕЧАНИЕ: сценарий, который будет выполняться, должен иметь разрешение выполнения, дать его так же просто как следующая команда: chmod +x FILE_NAME

1
ответ дан 7 December 2019 в 13:13

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

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