Я хочу создать настраиваемую команду справки для моих псевдонимов .bashrc, вот что у меня есть
это мой кастомный скрипт пока
bashrc='/home/jordan/.bashrc'
alias=$(cat $bashrc | grep -o -P '(?<=alias ).*(?==)' | sed -e 's/ //g' | sed -e "s/ls='ls--color//g")
desc=$(cat $bashrc | grep -o -P '(?=#Custom).*' | sed -e 's/#Custom //g')
Это мои псевдонимы .bashrc
alias ci3='code ~/.config/i3/config && exit' #Custom Open i3 config in VS Code
alias cpoly='code ~/.config/polybar/config && exit' #Custom Open i3 Config in VS Code
alias cdpoly='code ~/.config/polybar/launch.sh && exit' #Custom Open Polybar Config in VS Code
alias cds='cd ~/.config/scripts' #Custom cd into the scripts directery
alias cdc='cd ~/.config' #Custom cd into ~/.config
alias cbash='code ~/.bashrc' #Custom open .bashrc in VS Code
alias vg='cd ~/voxelgame' #Custom cd into voxel game directory
alias sb='source ~/.bashrc && echo ".bashrc compiled"' #Custom Compile .bashrc
alias update-addons='sudo python3 $HOME/Documents/wow-addon-updater/WoWAddonUpdater.py' #Custom update elvui
alias cdd='cd ~/Documents' #Custom cd into Documents
alias school='cd ~/Documents/School' #Custom cd into School directory
alias cs105='cd ~/Documents/CS105' #Custom cd into CS105 directory
alias cs140='cd ~/Documents/CS140' #Custom cd into CS140 directory
alias math137='cd ~/Documents/MATH137' #Custom cd into MATH137 directory
alias cs105t='evince ~/Documents/School/CS105/Big-Java-Early-Objects.pdf &' #Custom Open CS105 Textbook in Evince(PDF Viewer)
alias math137t='evince ~/Documents/School/MATH137/Precalculus-OP.pdf &' #Custom Open MATH137 Textbook in Evince(PDF Viewer)
edit: я хочу, чтобы команда была своего рода настраиваемой страницей справки, в которой перечислены команды и то, что они делают.
Ха-ха забыл включить эту часть, я хотел создать справочную страницу для всех моих псевдонимов, поэтому, если я не знаю, что они делают, я могу просто ввести команду, чтобы получить их список и то, что они делают. Вот почему я так их прокомментировал
Вы должны показать именно тот результат, который хотите.
alias
распечатает все ваши псевдонимы. тебе конкретно нужны комментарии?
Кстати, считайте vg() { : 'cd into voxel game directory'; cd ~/voxelgame; }
определением функции, а не псевдонимом; Таким образом, использование declare -f
для перечисления функций также даст вам комментарии (поскольку они передаются в качестве аргументов в :
и, следовательно, являются частью основного текста).
... в котором говорится: «пожалуйста, напишите для меня сценарий, который выполняет X», как правило, не входит в область действия StackOverflow. Если у вас есть конкретный вопрос о том, что делает ваш скрипт, не могли бы вы сделать его более явным? На самом деле, использование команды alias
для вывода списка псевдонимов имеет гораздо больший смысл. (Также следует отметить, что функции несут метаданные о том, из какого файла и строки они пришли, тогда как псевдонимы не имеют такого состояния).
Как насчет того, чтобы просто grep '^alias' ~/.bashrc
отображал полную строчку из .bashrc
?
Stack Overflow - это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. О каких темах я могу спросить здесь в Справочном центре. Возможно, лучше спросить Суперпользователь или Обмен стеков Unix и Linux.
alias xyz='echo "hi"; #does things'
alias
выведет
alias xyz='echo "hi"; #does things'
и
xyz
запустит команду и выведет
hi
Вам придется изменить псевдонимы, чтобы включить комментарии, но это не повлияет на их вывод. этого достаточно?
Это будет проблемой, если псевдоним должен принимать аргументы, например, alias sl='ls # autofix typo'
больше не разрешает sl -l
. Один из возможных вариантов взлома - alias sl='ls `#autofix typo` '
.
что вы хотите, чтобы ваша пользовательская команда справки делала? быть конкретным