Рибна оболонка STDERR за замовчуванням не виводиться


0

Я використовую fishоболонку, яка до цього моменту була ідеальною заміною старої доброї bash, але я зіткнувся з наступною проблемою.

fishне пересилає STDERRна STDOUT. Звичайно, якщо я додаю ^^&1 (вперед stderr до stdout) до команди, що я виконую все нормально, але це не поведінка за замовчуванням.

Приклад:

user@Computer ~> rm non_existing_file
user@Computer ~ [1]> rm non_existing_file ^&1
rm: non_existing_file: No such file or directory
user@Computer ~ [1]>

Як це виправити?

PS FTR Я працюю на OS X Mavericks


Це не має бути поведінка за замовчуванням.
glenn jackman

@glennjackman Я знаю, але це так!
Ітай Грудев

Я думаю, я не розумію вашого питання. З огляду на цю команду, sh -c 'echo stdout; echo stderr >&2' >/dev/nullякий ви очікуєте побачити?
glenn jackman

@glennjackman rm non_existing_fileповертає 1, але НЕ видає нічого. Тільки тоді , коли я явно вперед стандартний висновок на стандартний висновок команди, як це: rm non_existing_file ^&1я отримую: rm: non_existing_file: No such file or directory.
Ітай Грудев

Відповіді:


1

Слідкуючи за вашими коментарями github, я бачу, що проблема полягала в тому, як ви використовуєте rvmінтеграцію до риби. Я використовую це: https://rvm.io/integration/fish

curl -L --create-dirs -o ~/.config/fish/functions/rvm.fish https://raw.github.com/lunks/fish-nuggets/master/functions/rvm.fish

а потім додайте це в config.fish для завантаження параметрів rvm в оболонку

rvm current >/dev/null

Це рішення не є на 100% ефективним, оскільки спільнота лише переписує сценарії RVM для fish. Таким чином, можуть виникнути проблеми. Альтернативне рішення є набагато ефективнішим, оскільки воно просто будує середовище RVM bash.
Ітай Грудев

Тут я розмістив виправлене "альтернативне" рішення: gist.github.com/itay-grudev/570d3830a651f40b0347
Itay Grudev

PS Я також написав RVM з проханням оновити їх посилання.
Ітай Грудев

Розміщене я рішення делегує bash. Перебуваючи в сесії bash, він записує середовище до тимчасового файлу, а потім у рибі витягує відповідні змінні у рибне середовище.
glenn jackman

Ну я все ж думаю, що інше рішення є набагато більш чистим. (6 рядків коду. Немає файлів tmp ..) Ви не згодні?
Ітай Грудєв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.