Gibi şeyleri işlemenize gerek yok ~
, kabuk sizin için yapıyor. Bu yüzden ~/filename
herhangi bir komut dosyasına veya programa geçebilirsiniz ve çalışır - tüm bu programlar ~
kendilerini işlemez , kabuğunuz argümanı dönüştürür ve /home/username/filename
bunun yerine programa aktarır:
$ echo ~/filename
/home/mrozekma/filename
Kurallı bir dosya adına (şunun gibi şeyler içermeyen bir dosyaya) ihtiyacınız varsa ..
, kullanın realpath
(teşekkürler Neil ):
$ realpath ~/../filename
/home/filename
Bölünme dizin adı ve dosya adı, kullanıma yol gelince dirname
ve basename
:
$ dirname /foo/bar/baz
/foo/bar
$ basename /foo/bar/baz
baz