Solo quería preguntar si hay algún comando que funcione en shells comunes (bash, dash, kornshell). Se supone que comprueba si la line
variable contiene cualquier parte de la ruta.
if [[ $line =~ "$PWD"$ ]] ;then
Respuesta aceptada:
Sí, las versiones recientes de bash pueden hacer esto:
$ pwd
/home/terdon
$ line="I'm in /home/terdon"
$ [[ "$line" =~ "$PWD"$ ]] && echo yes
yes
La misma sintaxis funciona en zsh y ksh pero no en dash. Hasta donde yo sé, dash no tiene tales capacidades.
Tenga en cuenta que su expresión regular está comprobando si la variable $line
termina con $PWD
. Para comprobar si $PWD
coincide con cualquier lugar en $line
, elimine el $
:
$ line="I'm in /home/terdon, are you?"
$ [[ "$line" =~ "$PWD" ]] && echo yes
yes