よりクリーンで見苦しくないワンライナーでテストを達成したいと思います。
#!/bin/bash
test -d "$1" || (echo "Argument 1: '$1' is not a directory" 1>&2 ; exit 1) || exit 1
# ... script continues if $1 is directory...
基本的に、私は を複製せずexit
、できればサブシェルを生成しないものを求めています (その結果、見栄えも悪くなります) が、それでも 1 行に収まります。