Почему псевдоним ведет себя иначе, чем запуск команды bash напрямую?

Если в вашей системе есть команда ip route , вы можете узнать, какой маршрут в сети возьму из машины по заданному ip. Например,

$ ip route get 8.8.8.8    
8.8.8.8 via 192.168.0.254 dev p4p1  src 192.168.0.20 
cache 

В этом случае будут использоваться интерфейс p4p1 и шлюз 192.168.0.254 .

2
04.05.2017, 17:58
1 ответ

Извините, @ihue. Я ошибся, чтобы начать. Спасибо @ilkkachu.

Сравните псевдоним с командной строкой, опубликованной до редактирования:

alias 'date=date +%y%m%d;sudo tail -n 10 ~/logs/reconfig-$date.log;'
date=`date +%y%m%d`;sudo tail -n 10 ~/logs/reconfig-$date.log;

В псевдониме отсутствуют обратные кавычки. Кроме того, обратные кавычки почти устарели. Используйте следующую форму для подстановки команд: $(команда).

Двойные кавычки работают следующим образом: при каждой установке псевдонима устанавливается дата.

alias open_log="sudo tail -n 10 ~/logs/reconfig-$(date +%y%m%d).log"

Одинарные кавычки работают динамически, устанавливая дату каждый раз, когда вы вызываете псевдоним.

alias open_log='sudo tail -n 10 ~/logs/reconfig-$(date +%y%m%d).log'
2
27.01.2020, 22:10

Теги

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