ディレクトリ内のファイルを引数として使用しますが、拡張子は使用しません。

ディレクトリ内のファイルを引数として使用しますが、拡張子は使用しません。

.dat拡張子を持たないスクリプトでパラメータとして使用できる「data1.dat」というファイルがあります。

./myscript.sh data1

変える

./myscript.sh data1.dat

これは可能ですか?では、どうしたらいいですか?

ベストアンサー1

完全に。与えられた入力に対していくつかのテキスト処理を実行します(まだ.で終わっていない場合.dat.dat

#! /bin/bash

if [[ $# -lt 1 ]]; then
    echo "Usage: $0 <datafile name>" >&2
    exit 1
fi

DATFILE="$1"

if [[ "$DATFILE" != *".dat" ]]; then
    DATFILE="${DATFILE}.dat"
fi

if [[ ! -r "$DATFILE" ]]; then
    echo "Error: Data file '${DATFILE}' does not exist." >&2
    exit 1
fi

echo "Using data file '${DATFILE}'..."

おすすめ記事