2014-12-18 4 views
0

Я использую Ubuntu 14,10Команда не найдена в скорлупе/Баш скрипты

Я не могу найти общие команды в моих файлах сценариев, которые прекрасно работали уже несколько дней back.I должны дать полный путь к ним Теперь.

  /bin/mkdir "beta1" 
      /usr/bin/npm install "$COMMAND" 

, который должен быть как:

  mkdir "beta1" 
      npm install "$COMMAND" 

Я даже пытался добавить источник ~/.profile в мой сценарий, но ничего не помогает.

+0

echo you $ PATH, чтобы увидеть –

+1

Проверьте свою переменную PATH на 'echo $ PATH' и установите ее правильно. – Alper

+0

@Alper нет, он должен экспортировать этот путь по умолчанию, что, если у него есть пользовательские полезные записи? –

ответ

0

Использование PATH в качестве имени переменной было проблемой. В какой-то момент я его отменял.

2

Если путь вы вывесили в комментариях является verbatimкопировать/вставить вашего пути, ваша проблема вы встроили NON-ASCII символы в пути. Скорее всего, это связано с тем, что вы редактировали свой путь, используя редактор в окнах (или нетекстовый редактор, например OpenOffice), который заменил нестандартный символ для обычного значения ASCII. Глядя на шестнадцатеричном вашу PATH показывает проблему:

$ hexdump -C -n 233 pathprob.sh 
00000000 23 21 2f 62 69 6e 2f 62 61 73 68 0a 0a 50 41 54 |#!/bin/bash..PAT| 
00000010 48 3d 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 62 69 |H=/usr/local/sbi| 
00000020 6e 3a 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e |n:/usr/local/bin| 
00000030 3a 2f 75 73 72 2f 73 62 69 6e 3a 2f 75 73 72 2f |:/usr/sbin:/usr/| 
00000040 62 69 6e 3a 2f 73 62 69 6e 3a 2f 62 69 6e 3a 2f |bin:/sbin:/bin:/| 
00000050 75 73 72 2f 67 61 6d 65 73 3a 2f 75 73 72 2f 6c |usr/games:/usr/l| 
00000060 6f 63 e2 80 8c e2 80 8b 61 6c 2f 67 61 6d 65 73 |oc......al/games| 
00000070 3a 2f 75 73 72 2f 73 62 69 6e 2f 6e 6f 64 65 3a |:/usr/sbin/node:| 
00000080 2f 75 73 72 2f 6c 69 62 2f 6a 76 6d 2f 6a 61 76 |/usr/lib/jvm/jav| 
00000090 61 2d 37 2d 6f 72 61 63 6c 65 2f 62 69 6e 3a 2f |a-7-oracle/bin:/| 
000000a0 75 73 72 2f 6c 69 62 2f 6a 76 6d 2f 6a 61 76 61 |usr/lib/jvm/java| 
000000b0 2d 37 2d 6f 72 61 63 6c 65 e2 80 8c e2 80 8b 2f |-7-oracle....../| 
000000c0 64 62 2f 62 69 6e 3a 2f 75 73 72 2f 6c 69 62 2f |db/bin:/usr/lib/| 
000000d0 6a 76 6d 2f 6a 61 76 61 2d 37 2d 6f 72 61 63 6c |jvm/java-7-oracl| 
000000e0 65 2f 6a 72 65 2f 62 69 6e      |e/jre/bin| 
000000e9 

Обратите внимание, как usr/loc......al/games появляется. Аналогичная проблема существует с java-7-oracle....... Это эффективно искажает переменную PATH. Развращающие символы одинаковы в обоих местах e2 80 8c e2 80 8b. Они представляют собой e2 80 8c a Unicode ⁌ и e2 80 8b a Unicode ⁋.

Soluton - копия вашего пути к текстовому редактору. Удалить/заменить local/ с новым перепечатанным local/ и сделать то же самое для /usr/lib/jvm/java-7-oracle/db/bin