Если я использую встроенную команду BD 'cd' в подстановке команд, она выводит дополнительные данные в стандартный вывод, но только при передаче по трубопроводу, например, в меньше.
$ echo `cd .`
# The output is a single newline, appended by echo.
$ echo `cd .` | less
# less displays:
ESC]2;my.hostname.com - tmp/testenv^G
(END)
Что там происходит? Это поведение не описано в справочной странице bash для cd. Очевидно, что просто использовать 'cd' в подстановке команд глупо, но что-то вроде
NEWDIR=`cd mypath; pwd`
может быть полезным.
Я решил это, вместо этого используя
NEWVAR=`cd mypath > /dev/null 2>&1; pwd`
но я все еще хочу знать, что происходит.
Версия Bash: GNU bash, версия 3.2.25(1) -релиз (x86_64-redhat-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc.
Распространение: Scientific Linux SL выпуск 5.5 (Boron)