1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ubuntuの#!bin/shでブレース展開が機能しなかった

Posted at

現象

Ubuntu16.04で以下のスクリプトが機能しなかった。

#!bin/sh

# いろいろ処理
ls /home/{userA,userB}/
# いろいろ処理

ls の結果をパイプで繋いであれこれしてた部分が動かなくなってた。(CentOSでは動いてた)
出力を見ると、ブレース展開{A,B}がうまく機能していないっぽい。

結果

以下のように、シバンを変更したら動いた。

#!bin/bash

# いろいろ処理
ls /home/{userA,userB}/
# いろいろ処理

原因

どうやらUbuntuは、/bin/sh -> dash らしい。

~$ readlink -f /bin/sh
/bin/dash

そして、dashでは、ブレース展開がサポートされていない。
CentOSでは、/bin/sh -> bash なので気にしてなかった。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?