あけおめ、ことよろです!
「あけよろ」とかいうみたいですね、最近は。
基本情報技術者試験の勉強をしていましたら、
「ブレース展開」
とやらを初見しました。
解説を読んでみると、、、
UNIXの機能で、任意の文字列を生成するために使用されます。
たとえば、まとめてファイルやディレクトを生成するときに使われます。
とのこと。よくわからん!
「UNIX機能ってことはコマンドで試せるのでは?」と思い、ググりました。
その結果、コマンドで実際に試せるようでした!
あと、過去記事で「ブレース展開」っぽいことはしてますね。
seqを使ってワンライナー書くよ。
さきにまとめると、
ブレース展開 ≒ seqコマンド です。
ただし、seqコマンドでは各出力文字が改行されます。
▶︎ブレース展開
$ echo {1..4} 1 2 3 4
▶︎seqコマンド
$ seq 1 4 1 2 3 4
解説にあった、
まとめてファイルやディレクトを生成する
って、実際にやってみると、こういうことなんでしょうね。
$ touch test{1..5} #ファイルを作成 $ ls test1 test2 test3 test4 test5
$ rm -rf test{1..5} #いらんので消す $ ls
bashのバージョンが4系(※導入方法は下に書いてます)になると、
インクリメント数の指定もできるようになります。
echo {1..10..2} #最小値1、最大値10、増加数2 1 3 5 7 9
seqコマンドでいうと、こんな感じですね。
$ seq 1 2 10 1 3 5 7 9
こんな感じで、理解できない用語は実際にやってみると理解深まるな〜
と改めて感じたそんな日でした。
[ 付録 ] Macでbashのバージョンを4系にする方法
<導入環境>
– Mac
– bash 3系
$ brew upgrade bash $ brew info bash #4系が導入されたことを確認します。 bash: stable 5.0.0 (bottled), HEAD Bourne-Again SHell, a UNIX command interpreter https://www.gnu.org/software/bash/ /usr/local/Cellar/bash/4.4.19 (146 files, 8.8MB) Poured from bottle on 2018-03-23 at 12:55:33 /usr/local/Cellar/bash/4.4.23 (146 files, 8.8MB) Poured from bottle on 2019-01-07 at 21:42:09 /usr/local/Cellar/bash/5.0.0 (150 files, 9.4MB) * Poured from bottle on 2019-01-08 at 21:37:06 From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/bash.rb ==> Options --HEAD Install HEAD version ==> Caveats In order to use this build of bash as your login shell, it must be added to /etc/shells. ==> Analytics install: 10,644 (30 days), 36,411 (90 days), 188,613 (365 days) install_on_request: 8,577 (30 days), 29,862 (90 days), 146,626 (365 days) build_error: 0 (30 days) $ ls /usr/local/Cellar/bash 4.4.19 4.4.23 5.0.0
今まで使ってたbashをバックアップ的に残しておく。
$ sudo mv /bin/bash /bin/bash_old $ sudo mv /bin/sh /bin/sh_old $ sudo chmod a-x /bin/bash_old /bin/sh_old
bashの4系にシンボリックリンクを新しく登録する。
$ sudo ln -s /usr/local/Cellar/bash/4.4.23/bin/bash /bin/bash $ sudo ln -s /usr/local/Cellar/bash/4.4.23/bin/bash /bin/sh
バージョンを確認→4系になっていることを確認。
$ echo $BASH_VERSION 4.4.23(1)-release xxxxxx:/usr/local/Cellar$ /bin/bash --version GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) Copyright (C) 2016 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.