[Haskell-cafe] how to expand ~ in a filepath
Hécate
hecate at glitchbra.in
Tue Jul 22 12:23:04 UTC 2025
With GNU bash, version 5.2.37(1)-release, `~foo` (provided that foo is a
user) is indeed expanded to the user's home directory.
Cheers,
Hécate
Le 22/07/2025 à 14:17, Mig Mit a écrit :
> There is no “should” here. It might be what you want, but it's not a universal standard. In Bash, “~foo” is not expanded.
>
> Sent from my iPad
>
>> On 2025. Jul 22., at 15:13, Richard O'Keefe <raoknz at gmail.com> wrote:
>>
>> But it's not just ~/ that should be expanded.
>> All four of "~" "~/bar" "~foo" and "~foo/bar" should be expanded by a
>> tilde-expander.
>>
>>> On Tue, 22 Jul 2025 at 03:06, Brandon Allbery <allbery.b at gmail.com> wrote:
>>>
>>> There's also https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Prelude.hs#L135-L156 although it also does a few other things.
>>>
>>>> On Mon, Jul 21, 2025 at 7:57 AM Tristan Cacqueray via Haskell-Cafe <haskell-cafe at haskell.org> wrote:
>>>>
>>>>
>>>> Hello, unfortunately there is no "expandHomePath" or "realpath" helpers
>>>> in the standard libraries. Searching for "FilePath -> IO FilePath" in
>>>> hoogle shows an implementation in the hledger project:
>>>> https://hackage-content.haskell.org/package/hledger-lib-1.43.2/docs/Hledger-Utils-IO.html#v:expandHomePath
>>>>
>>>> … which check if the path begins with "~/", and replace that with the
>>>> output of "getHomeDirectory"
>>>>
>>>> -Tristan
>>>>
>>>> On Mon, Jul 21, 2025 at 07:19 PICCA Frederic-Emmanuel wrote:
>>>>> Hello, I am trying to open and read the content of this kind of filepath.
>>>>>
>>>>> ~/debian/changelog
>>>>>
>>>>> So is there a prefered way to expand the ~ into the real $HOME.
>>>>>
>>>>> thanks for your help
>>>>>
>>>>> Frédéric
>>>>>
>>>>>
>>>>> Classification de confidentialité SOLEIL
>>>>>
>>>>> Ce message et ses pièces jointes peuvent contenir des informations soumises à des règles de diffusion :
>>>>>
>>>>> * P (Public) : Diffusion libre y compris à l'extérieur de SOLEIL.
>>>>> * I (Interne) : Diffusion libre au sein de SOLEIL, ne doit pas être communiqué à l’extérieur sauf mention spécifique.
>>>>> * C (Confidentiel) : Diffusion restreinte aux personnes autorisées, internes ou externes. Le partage nécessite l'accord de la hiérarchie.
>>>>> * S (Sensible) : Accès restreint aux seuls destinataires. Partage non autorisé.
>>>>>
>>>>> Les informations contenues dans cet e-mail sont la propriété de SOLEIL. Si vous n'êtes pas le destinataire prévu, merci de nous en notifier et de ne pas utiliser, copier ou distribuer les informations qu'il contient.
>>>>> _______________________________________________
>>>>> Haskell-Cafe mailing list
>>>>> To (un)subscribe, modify options or view archives go to:
>>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>>>> Only members subscribed via the mailman list are allowed to post.
>>>> _______________________________________________
>>>> Haskell-Cafe mailing list
>>>> To (un)subscribe, modify options or view archives go to:
>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>>> Only members subscribed via the mailman list are allowed to post.
>>>
>>>
>>> --
>>> brandon s allbery kf8nh
>>> allbery.b at gmail.com
>>> _______________________________________________
>>> Haskell-Cafe mailing list
>>> To (un)subscribe, modify options or view archives go to:
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>> Only members subscribed via the mailman list are allowed to post.
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
--
Hécate ✨
🐦: @TechnoEmpress
IRC: Hecate
WWW: https://glitchbra.in
RUN: BSD
More information about the Haskell-Cafe
mailing list