
Я попытался создать bash-скрипт.
vi hello_world
Внутри сценария, который я написал
#!/bin/bash
text="Hello World"
echo $text
Когда я печатаю
echo $hello_world
Разве скрипт не должен запускаться, а затем я печатаю "Hello World"? Или что-то не так в синтаксисе?
решение1
Вы используете неправильный синтаксис для вызова скрипта.
echo $hello_world
выводит содержимое переменной hello_world
.
Для выполнения скрипта оболочки вам необходимо ввести путь к скрипту hello_world
:
./hello_world
Выполняется hello_world
, если находится в текущем рабочем каталоге.
Чтобы запустить скрипт напрямую (т.е. с помощью ./script
), вам нужно сделать его исполняемым. Вы можете сделать это с помощью:
chmod +x ./hello_world
или с помощью диалогового окна свойств файла вашего файлового менеджера.
решение2
Предполагая, что скрипт находится в вашем текущем рабочем каталоге, для его выполнения вам потребуется выполнить следующую команду.
./hello_world
Если у вашего скрипта еще нет разрешений на выполнение, вы можете сделать это с помощьюchmod +x hello_world
решение3
Возможно, местоположение bash
отличается.
Вместо этого вы можете использовать bootstrap.
#!/usr/bin/env bash
text="Hello World"
echo $text
EDIT: Это было настолько очевидно, что я не увидел неправильного синтаксиса для запуска скрипта. Попробуйте:
./hello_world