bash wildcard space

En bash, ¿cómo amplío un comodín mientras está entre comillas dobles?



wildcard space (1)

Mueve las comillas. Simplemente no cites el * . Probablemente también sea bueno no citar el ~ .

go() { cd ~/"project/entry ${1}"* }

Dicho esto, si esto coincide con más de una cosa, cd usará la primera coincidencia e ignorará todas las demás coincidencias.

Me gustaría escribir la siguiente función en bash:

go() { cd "~/project/entry ${1}*" }

Lo que esto haría es crear un CD en un subdirectorio de proyecto con entry prefijo (espacio de nota) y posiblemente un sufijo largo. Solo necesitaría darle un nombre parcial y completará el sufijo del nombre del directorio.

Entonces, si por ejemplo, tengo las siguientes carpetas:

~/project/entry alpha some longer folder name ~/project/entry beta another folder name ~/project/entry gamma

Puedo ejecutar go b y me pondrá en ~/project/entry beta another folder name .

El problema es, por supuesto, que el comodín no se expande entre comillas dobles. No puedo omitir las comillas porque no podré capturar los espacios correctamente.

¿Cómo hago para que el comodín se expanda y al mismo tiempo conserve los espacios?