亀の甲羅2

今日もまた朝とく起きて励まなん窓に明るきありあけの月

Git Bash の ln -s (シンボリックリンク作成)がおかしい

Git Bash の ln -s (シンボリックリンク作成)がおかしい

Git Bash 内でシンボリックリンク作ろうと思ったら、単純なcpみたいな動きになっていた。
ただの記録。  
 

目次

本文

1. Git Bash 内でシンボリックリンクを作ってみた

$ pwd
/d/Git/test

$ ln -s aa/
0001/     hoge.txt

$ ln -s aa/hoge.txt hoge ・・・(A)

$ ln -s aa/0001/ 0001s ・・・(B)

$ ls -l
total 0
drwxr-xr-x 1 user01 197121 0 Jun 27 22:47 0001s/ ・・・(A)
drwxr-xr-x 1 user01 197121 0 Jun 27 22:45 aa/
-rw-r--r-- 1 user01 197121 0 Jun 27 22:45 hoge ・・・(B)

リンクになっていない
 

2. Debianで試してみた

$ ln -s aa/hoge hoge ・・・(A)
$ ln -s aa/0001 0001s ・・・(B)
$ ls -l
total 0
lrwxrwxrwx 1 user01 user01    7 Jun 27 22:53 0001s -> aa/0001 ・・・(B)
drwxr-xr-x 1 user01 user01 4096 Jun 27 22:52 aa
lrwxrwxrwx 1 user01 user01    7 Jun 27 22:53 hoge -> aa/hoge ・・・(A)

普通にシンボリックリンクが出来ている。  
 


Git Bashは少し古いようだ。また、Windowsファイルシステムと共存しているので、少し動作に差があるのかも。
Debianでも/mntにマウントされているWindowsファイルシステム内でシンボリックリンクを作ってみたけど普通に動作する。


バージョン情報

・Git Bash

$ bash --version
GNU bash, version 4.4.23(1)-release (x86_64-pc-msys)
Copyright (C) 2016 Free Software Foundation, Inc.

Debian

$ bash --version
GNU bash, version 5.0.3(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2019 Free Software Foundation, Inc.