выполнение команд в оболочке и отключение отображения команд по умолчанию в консоли

Это мой сценарий

cd /opt/product/vinoth -- some operations -- cd - 

Выполняя эту команду, cd - старый путь будет отображаться в консоли.

есть ли способ заблокировать это от отображения в консоли.

То же самое можно избежать в make-файлах с помощью @ infront команды.

При серфинге я понял, что это можно достичь, используя cmd=$(cd -)

Команда не выполнялась, и путь не был изменен.

2 Solutions collect form web for “выполнение команд в оболочке и отключение отображения команд по умолчанию в консоли”

OLDPWD этого используйте OLDPWD :

 / $ cd /tmp /tmp $ echo $OLDPWD / /tmp $ cd "$OLDPWD" / $ 

От man bash :

  OLDPWD The previous working directory as set by the cd command. ... cd An argument of - is converted to $OLDPWD before the directory change is attempted. 

$(cd -) запускается в подоболочке, поэтому он не может влиять на текущую оболочку.

Вы также можете сделать:

 cd - >/dev/null 

Как поясняется в этом ответе, короткий вариант, чтобы не отображать каталог, когда cd в предыдущий рабочий каталог использует расширение тильды ~- :

 cd ~- 
  • как сохранить настройки скрипта?
  • Параметры переменных окружения из файла
  • проблема с обратными кавычками внутри цикла while при выполнении команды над ssh
  • Новые строки в именах файлов
  • Объединить ассоциативные массивы Bash
  • Как инвертировать счет, возвращенный из grep?
  • getopts передаёт значение объявленного параметра в функцию
  • Выполнение почтовой команды внутри функции вызывает «вилку»,
  • Поиск совпадающих файлов с подстановочными знаками без использования find в сценарии bash
  • Есть ли способ конвертировать zip в tar без извлечения его в файловую систему?
  • grep и добавить его в конец строки
  • Linux и Unix - лучшая ОС в мире.