Установка curl без права root

Ваш сценарий не соответствует ' t работает, потому что вы запускаете eval на пути к исполняемому файлу.

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

Если вы не процитируете ссылку на $ variable , содержимое переменной также будет разделено на отдельные слова в соответствии с пробелами.

Вы процитировали ссылку на переменную. Однако, запустив eval , вы анализируете результат раскрытия переменной за секунду раз. Тебе это не нужно.

Следующая иллюстрация может быть поучительной:

$ ls
file.txt    file2.txt
$ somevar=ls
$ $somevar
file.txt    file2.txt
$ ls -l
total 0
-rw-r--r--  1 Me  staff  0 Sep  2 16:06 file.txt
-rw-r--r--  1 Me  staff  0 Sep  2 16:06 file2.txt
$ somevar='ls -l'
$ $somevar
total 0
-rw-r--r--  1 Me  staff  0 Sep  2 16:06 file.txt
-rw-r--r--  1 Me  staff  0 Sep  2 16:06 file2.txt
$ "$somevar"
bash: ls -l: command not found
$ 

Как видите, когда я пытаюсь запустить "ls -l" , процитированный, оболочка ищет команду с таким точным имя - включая пробелы.

В моем примере это не то, что я хочу.

Однако в вашем примере это - это то, что вы хотите.

Вместо использования eval «$ eclexe0» просто используйте «$ eclexe0» .


The Bigger Picture

Бесплатный совет: если вы планируете запускать свой сценарий на компьютере с Linux, протестируйте его на компьютере с Linux. MobaXterm - это не Linux.

Установите Vagrant и VirtualBox (которые бесплатны) и создайте виртуальную машину, на которой вы сможете проводить тесты.


Дополнительная литература:

2
23.05.2017, 15:40
0 ответов

Теги

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