Невозможно конкатенировать пути к файлам, разрешено отклонение

Я не могу понять, почему, если я просто попытаюсь конкатрировать некоторые пути к файлам (не открывая файлы), я получаю «разрешение отклонено»:

#!/bin/bash if [ "$#" -eq 1 ]; then path1= "./src/$1" path2= "./Main/$1" echo $path1 else echo "Invalid number of parameters" fi 

Вот как я исполняю сценарий bash (с именем compare.sh):

введите описание изображения здесь

PS : ./src/GraphicTest.cpp и ./Main/GraphicTest.cpp – существующие файлы.

One Solution collect form web for “Невозможно конкатенировать пути к файлам, разрешено отклонение”

Переменные оболочки задаются с использованием синтаксиса name=value . В объявлении не должно быть никаких [неуказанных] пробельных символов.

  path1="./src/$1" path2="./Main/$1" # ^ remove space here 

Пространство в вашем использовании вызывало другое использование name=value , то есть временную настройку переменных среды для одного вызова программы.

Например:

 # set environment variable "foo" to "bar" for this invocation of "program" foo="bar" /path/to/program # set "baz" to an empty value for the invocation of "program" baz= /path/to/program 

Причина, по которой вы получили отказ в разрешении на path1= "./src/$1" заключалась в том, что это означало «Установить переменную среды среды path1 в пустую и вызвать программу ./src/$1», а поскольку ./src/$1 doesn У его бита исполняемого файла это невозможно.

  • Почему мне нужно нажать enter, чтобы получить приглашение моей оболочки после завершения скрипта init.d?
  • Предотвращение расширения определенного пространства в переменной
  • Не удается запустить команду dd на устройстве Android
  • Как подсчитать количество слов каждого предложения в файле с помощью команды оболочки?
  • Повторное использование выхода grep
  • Как выполнить задание cron с циклическим аргументом?
  • Макросы командной строки в комментариях с использованием SLURM
  • Скрипт для перезапуска сети
  • Как передать аргумент с пробелами функции сценария оболочки?
  • лучше несколько заменить фигурные скобки
  • sed заменить после соответствия символа
  • Interesting Posts

    Должно ли мое / usr / local / bin быть 700 разрешений?

    UNZIP не удалось при извлечении

    Дедупликация на уровне раздела

    Прошивка Debian от cdimage.debian.org от производителя

    Cronjob запускается каждые 30 минут

    cmdline Unix Калькулятор разрешений битов

    Что особенного в каталогах, чьи имена начинаются с точки?

    «setcap» перезаписывает последнюю возможность. Как установить несколько возможностей?

    Использование Crontab -e с нестандартным редактором с ограниченной оболочкой (не экспортировать переменную или запустить редактор)

    Почему в руководстве по установке Debian предлагается выполнить «синхронизацию» после необработанной копии файла изображения на USB-ключ?

    Один макет mkdir с именем каталога как дни?

    Многопоточный cp на linux?

    Как установить Dropbox на Linux Mint 17.1 (ImportError: нет модуля с именем os)

    переименование расширения файла не работает

    Получите часть строки до последней косой черты

    Linux и Unix - лучшая ОС в мире.