Нет, нельзя. Не без перекомпиляции Bash. Но изменение чего-то такого базового и вездесущего, как символы глобуса, нарушило бы совместимость с подавляющим большинством сценариев Bash, поэтому, если вы сделаете это, пожалуйста, не называйте полученный двоичный файл «bash».
zsh
имеет больше гибкости в подстановке, но даже в этом случае вы не можете произвольно определить свой собственный синтаксис.
Самое близкое к тому, что вы хотите (переопределяемые языки сопоставления с образцом )не находятся ни в какой оболочке, но звучат очень похоже на Perl 6 . Предупреждаю, :это не для слабонервных.
Q: "Check to see if lightdm is up before continuing a task"
A :Можно использовать услугу _факты и выбирать атрибуты конкретной услуги. Например, сборник пьес
- hosts: localhost
vars:
my_service: 'lightdm.service'
tasks:
- service_facts:
- set_fact:
my_state: "{{ services|
dict2items|
selectattr('key', 'match', my_service)|
map(attribute='value.state')|
list|
first }}"
- debug:
msg: "{{ my_service }} is {{ my_state }}"
дает
"msg": "lightdm.service is running"
№ lightdm
— это диспетчер отображения, предназначенный для работы с X. Не предполагается открывать сетевой порт...