よりハイテクなブレース展開をしてみたいので、Bashのバージョンを4系にする!(Mac)

 

あけおめ、ことよろです!
「あけよろ」とかいうみたいですね、最近は。

 

基本情報技術者試験の勉強をしていましたら、
「ブレース展開」
とやらを初見しました。

解説を読んでみると、、、

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.

curlコマンドのメモ

APIを取得したくて、
curlコマンドをよく使いますが、忘れるので備忘録として書きます。

Curlコマンド

– ■GET

curl -X GET https://example.com/?mode=show

curlコマンドは、
オプション  -X  でHTTPメソッドの指定ができます。
デフォルト(指定なし)はGETらしい。

 

– ■POST

curl -X POST -d "mode=insert" https://example.com/

オプション -d でフォームの送信(-dもしくは–data)をします。

 

– ■PUT

curl -X PUT -d "mode=delete&id=1" https://example.com/

最後に。。。

オプション -v
で詳細をログ出力(-vもしくは–verbose)できます。

curl -v -X POST -d "mode=insert&said=time is money&who=unknown" "https://example.com/"