Некоторые проблемы с Linux-Bash

1

Я новичок в Linux, bash и так далее. У меня есть 2 проблемы (на данный момент...), и их нужно легко решить.

Все примеры кода являются.sh файлами и вызывается из терминала командой sh file.sh

Во-первых, почему я могу добавить первую строку, а не вторую? мне кажется, что такая же операция...

DIR=$HOME/dir
DIR2=$DIR/test.php
echo $DIR
echo $DIR2

дает мне этот результат:

/home/vm/dir
/test.phpdir

Вторая проблема. Я хочу вызвать php-интерпретатор из сценария bash.

#/home/vm/proj/test.php
<?php
echo __DIR__;

#home/vm/proj/script/script.sh
#! /bin/bash
PATH=$PATH:/$HOME/proj
php -f test.php

Но это всегда приводит к ошибке: невозможно найти файл...

Поэтому, пожалуйста, помогите noob и скажите мне, как исправлять мой код...

Я могу представить, что обе мои проблемы довольно просто исправить.

благодаря

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

Система: Виртуальная машина: Ubuntu 14.04.3 LTS, Trusty Tahr

Bash-версия: 4.3.11 (1) -release (x86_64-pc-linux-gnu)

  • 0
    Какую версию sh и какой дистрибутив Linux вы используете? Я не могу воспроизвести вашу проблему, поэтому это может быть что-то конкретное.
  • 0
    sh и bash не обязательно совпадают! Пожалуйста, прочитайте здесь .
Теги:
path

1 ответ

0

Пытаться:

DIR2="$DIR/test.php"

Вы должны выполнить PHP в режиме CLI (даже в скрипте shell/bash), например:

php /path/to/script.php

BTW Я использую ту же настройку, что и вы :)

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

#! /bin/bash
PATH=/path
PATH2="$PATH/to"
PATH3=$PATH2/script.php
echo $PATH3
# Output: /path/to/script.php

EDIT2:

Не уверен, почему это не работает для вас, как должно.

См. Здесь для получения дополнительной информации о конкатенации переменных в bash:

Как конкатенировать строковые переменные в Bash?

См. Здесь возможную работу по этой проблеме: https://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables

  • 0
    Хорошо, спасибо за ответ. Двойные кавычки тоже не работают. проблема с путем будет иметь значение позже, когда я попытаюсь использовать относительные пути во включениях, не так ли?
  • 0
    Хм, позвольте мне подумать об этом тогда. Я абсолютный путь во всем, поэтому у меня действительно нет таких проблем, но тогда моя среда не меняется;)
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню