Bash v3 以下でも set -u 時に変数が定義されてるか確認する方法

以下のように、変数への値がセットされているかで分岐するシェルスクリ プトがあったとします。このスクリプトは正常に動作します。 #!/bin/sh if [ -n "$CIRCLE_PULL_REQUEST" ]; then echo '$CIRCLE_PULL_REQUEST is defined.' else echo '$CIRCLE_PULL_REQUEST is NOT defined.' fi 堅牢なシェルスクリプトを書く時は ‘#!/bin/sh’ を ‘#!/bin/sh -u’ に することが多いです。typo 等による意図しない変数の利用を防いでくれ ます。 今回はこれがコンフリクトし、以下のようなエラーになります。 $ ./v.sh ./v.sh: line 3: CIRCLE_PULL_REQUEST: unbound variable 対策方法 set -uしてるときに変数が定義されてるかチェックする - Qiita 残念ながら macOS High Sierra では上記の方法は使えませんでした。 $ ./v.bash ./v.bash: line 3: conditional binary operator expected $ which -a bash /bin/bash $ bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17) Copyright (C) 2007 Free Software Foundation, Inc....

2018-10-15 (Mon) · masutaka

Docker ではないコンテナ systemd-nspawn を使ってみた

先日、増田の記事を読みました。 Docker盲信してる皆様へ └ dockerやめてどうしたか? systemd-nspawn を全く知らない自分に腹が立ったので、使ってみました。 ホスト OS を Arch Linux にして試す 何も知識がないので、ググってヒットしたこちらから開始。 [Arch Linux] systemd-nspawnで軽量コンテナを建てよう! - Qiita ホストの Arch Linux は Vagrant で用意しました。Arch Linux は初めて 使ったし、名前も知らなかったというレベルです。 $ vagrant init terrywang/archlinux あとは記事のとおりに さまざまなディストリのコンテナを試していきました。 Arch Linux → 一番簡単だったが、インターネットに繋げられず Debian → debootstrap が 404 でインストールできず断念 CentOS → dnf のインストールで挫折。 と、ひととおり試してこの記事はむしろ Arch Linux スゲー記事というこ とに気づきました・・・! ホスト OS を CentOS 7 にして試す 初心(?)に返って、仕事でも使っている CentOS 7 で再挑戦。 こちらの記事は簡単でした。Vagrant で出来たし、何もせずともコンテナ からインターネットを参照できました。 Cent OS7でsystemd-nrespownで軽量コンテナを作成する macOS の方はたぶん、この通りにやると systemd-nspawn を体験できると...

2017-04-29 (Sat) · masutaka

MySQL の主要なコマンド

# 接続("mysql>" プロンプトに移行する。) % mysql -u root -p # データベースの一覧 mysql> show databases; # 文字コードの確認 mysql> show create database データベース名; # データベースの作成 mysql> create database データベース名; # 文字コードに utf-8 を指定したデータベースの作成 mysql> create database データベース名 character set utf8; # ユーザの追加 mysql> grant all privileges on データベース名.* to ユーザ名@localhost identified by 'パスワード'; # データベースの削除 mysql> drop database データベース名; # サーバのステータス情報確認。"mysqladmin -u root -p status" はこれの簡易版。 mysql> status; # サーバの詳細なステータス情報確認。"mysqladmin -u root -p extended-status" と同様。 mysql> show status; # 終了 mysql> exit; # 変数の確認 % mysqladmin -u root -p variable # 存在するデータを全てバックアップ % mysqldump -u root -p -x --all-databases > alldump....

2009-10-10 (Sat) · masutaka

「Linux 標準教科書」と「Linux サーバー構築標準教科書」

Linux標準教科書Wiki Linuxサーバー構築標準教科書 Wiki アンケートに答えると、それぞれ pdf ファイルを無料でダウンロードできる。 かなりボリュームがあるが、体系的な知識の習得に良さそう。

2009-06-30 (Tue) · masutaka

Xming

開発環境が PC になり、メールだけのために WS を使うのも効率が悪くなって きたので、Xming を使うことにしてみた。Xming とは Windows で動く X サー バとのこと。Tera Term で適当な WS にログインして、環境変数 DISPLAY を PC 側に設定し、Emacs を起動すると、Windows 側に窓がポコっと出るように なる。 機種依存文字が表示できなかったが、JISX0213 フォントを使うようにしたら表 示できるようになった。Meadow に日本語のコピペがうまくいかないのはなんと かしたいなあ。秀丸や FireFox を経由すれば出来るんだけどね。

2007-08-06 (Mon) · masutaka

拡張子変更

*.aaa を *.bbb に一発で変える方法教えて下さい。 mv *.aaa *.bbb じゃ出来ないです。 rename aaa bbb *.aaa でいいじゃん

2002-09-14 (Sat) · masutaka

CD-R/RW の焼き方、ツールの紹介

URL: http://www3.airnet.ne.jp/_tom_/CD-R.html

2002-02-09 (Sat) · masutaka