シェルにアスタリスク入れたらファイル一覧が出てきた
きっかけ
dotfiles(設定ファイルをGitHubに置いてどこでもマイ環境を構築できるスクリプト)を作ろうと思い,他人の設定を参考にしていたときに目にしたShell Scriptがこちら
cd ${DOT_DIRECTORY} for f in .??* do [[ ${f} = ".git" ]] && continue [[ ${f} = ".gitignore" ]] && continue ln -snfv ${DOT_DIRECTORY}/${f} ${HOME}/${f} done
.??*
ってなんだ??????????
どっと はてな はてな あすたりすく????????
調査
ググり方が悪いのか検索しても関連情報はヒットしませんでした.
結論からいうと,shellにマッチパターンを書くと作業ディレクトリのファイル・フォルダ一覧が出てくるようです.何故かは知りません.
正規表現ではなく,lsで指定するときに使うやつです.
例
ホームディレクトリでやってみました. shで出来たので,bashでもzshでも動くと思います
ドットのあとに任意の2文字,そのあとに任意の文字列
$ echo .??* .adobe .android .asunder .asunder_album_artist .asunder_album_genre .asunder_album_title .bash_history .bash_logout .bash_profile .bashrc .bundle .cabal (以下略)
任意の文字列 隠しファイルは出てこない
$ echo * backup Desktop Documents dotfiles Downloads (以下略)
T,U,V,Y,Xから始まるファイル
$ echo [t-x]* Templates test tmp Videos VirtualBoX VMs
よくわからん
動作はなんとなくわかったが,全然知らなかったため,なんとなく困惑している