Мне назвали файл .bash_aliases
где я сохраняю свое первое (и только один недо теперь), ведьма псевдонима работает правильно, но когда я пытался создать новый, терминалу не удалось распознать командную строку, я думаю, возможно, что причиной для этого является конфликт между апострофом '
и кавычки "
, но я не уверен.
alias vid-dl="youtube-dl -o 'Videos/randon/%(title)s.%(ext)s'"
Ошибка:
vid-dl: command not found
Я использовал псевдонимы следующим образом в терминале:
vid-dl URL
В .bash_aliases
необходимо для использования чего-то, чтобы указать, что строка закончена? В JS и C# это использовало точку с запятой ;
, на пример.
Когда я протестировал командную строку youtube-dl -o 'Videos/randon/%(title)s.%(ext)s
без псевдонима это работало отлично.
Каждый использует обратную косую черту \
отметить следующий символ как "неособенный", таким образом, от МОЕГО ~/.bashrc
:
alias bigopenfiles="sudo lsof / | awk '{if(\$7 > 1048576) print \$7/1048576 \"MB\" \" \" \$9 }' | sort -n -u"
#
alias deletedfiles="sudo lsof / | egrep 'PID|\(deleted\)'"
#
Давайте демонтируем сложное выражение:
alias bigopenfiles="sudo lsof / | awk '{if(\$7 > 1048576) print \$7/1048576 \"MB\" \" \" \$9 }' | sort -n -u"
окружается "
s, таким образом, любого символа, который перепутал бы код парсинга, нужно baskslash-оставить.
'
s окружение awk
программа не представляет интереса для кода парсинга (это ищет соответствие "
).
Однако знаки доллара являются особенными (мог означать 7-й параметр оболочки, где Вы определяете псевдоним, глупую идею), и должен быть оставлен из обратной косой черты, например. \$7
.
Затем существуют рассчитывать-пальцы \"MB\" \" \"
, две заключенных в кавычки строки для awk
, со всеми оставленными из обратной косой черты метками кавычки.
'
s окружение awk
программа не представляет интереса для кода парсинга (это ищет соответствие "
).
наконец, существуют другие команды в псевдониме (на этот раз, это справедливо | sort -n -u
, и,
наконец,
близкая кавычка ("
) НЕ оставленный из обратной косой черты.
В следующий раз, когда строка анализируется, обратные косые черты исчезают:
walt@bat:~(0)$ alias bigopenfiles
alias bigopenfiles='sudo lsof / | awk '\''{if($7 > 1048576) print $7/1048576 "MB" " " $9 }'\'' | sort -n -u'
walt@bat:~(0)$
Необходимо закрыть текущий терминал и открыть новое окно терминала для .bash_aliases
файл для вступления в силу.
Или, просто . ~/.bash_aliases
.