Как получить исходную системную команду после ее перезаписи с помощью функции?

Я сейчас в Hackathon, поэтому, если кто-то скоро ответит на это, вы окажете мне огромную услугу.

Я написал функцию ls () в моем .bashrc это выглядит так:

ls() {

  if(some condition);
    do something
  else
    ls; #(CALL TO ORIGINAL ls SYSTEM CALL)
  fi

}

Но здесь, когда он переходит к части else, он просто вводит бесконечный цикл

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

1
задан 16 June 2013 в 23:01

1 ответ

Вас также может заинтересовать which, который дает вам путь к программе в вашем $PATH с этим именем.

$ which ping
/bin/ping

(Хотя я бы рекомендовал ответ Найкакина, так как он решает вашу проблему. Это еще один инструмент для всех, кого это интересует)

1
ответ дан 24 May 2018 в 21:00

Другие вопросы по тегам:

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