Переменная в Bash Alias ​​не работает должным образом

Использование grepс расширенным регулярным выражением:

grep -Eno "[A-Za-z]+=( |$)" /path/to/file

Должен печатать пустые ключи и соответствующие номера строк.

0
25.02.2021, 05:33
1 ответ

Подстановка команды оценивается при определении alias, а не при ее выполнении. То же верно и для оценки переменной $todaydir, которая в данный момент пуста. Это потому, что вы определили свой псевдоним в двойных кавычках вместо одинарных.

Вы это имели в виду (Я использую другой формат даты):

$ alias col='todaydir=$(date | awk '\''{print $2$3}'\''); cd /home/myname/collect/$todaydir'
$ alias col
alias col='todaydir=$(date | awk '\''{print $2$3}'\''); cd /home/myname/collect/$todaydir'
$ col
-bash: cd: /home/myname/collect/25Feb: No such file or directory

Но вам не нужны awkи переменная, используйте dateи формат:

alias col='cd /home/myname/collect/"$(date "+%b%d")"'
1
18.03.2021, 22:28

Теги

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