パラメーターに外部ファイルを含めると、ファイルが見つかりません。 【強く打つ】

パラメーターに外部ファイルを含めると、ファイルが見つかりません。 【強く打つ】

私のbashファイルに外部ファイルを含める方法について何かが欠けているようです。

私のシナリオには次のコマンドがあります

sh exec.sh env_local.conf ebis_tag

エラーが表示されます

exec.sh: 行 30: .: env_local.conf: ファイルが見つかりません。

私のフォロワー注文の実行スクリプトは次のとおりです。

#!/bin/bash

usage_exit() {
        echo "Usage: $0 [-b] env_file_path project_name" 1>&2
        exit 1
}

# default BANG_RUNNING="FALSE"
BANG_RUNNING="FALSE"

while getopts b OPT
do
  case $OPT in
    b) BANG_RUNNING="TRUE" ;;
    ¥?) usage_exit;
  esac
done

shift $(($OPTIND - 1))

if [ $# -ne 2 ]; then
  echo $#;
  usage_exit;
fi

# import env_file
# CORE_HOST
# REF_HOST
# ADMASTER_HOST
. $1

注文の実行そしてenv_local.config同じディレクトリに

[root@6d4f1e2363eb makedb]# ls -l
total 81
-rwxrwxrwx 1 1000 ftp  3381 Mar 14 09:03 admaster.sql
-rwxrwxrwx 1 1000 ftp  1675 Mar 29 03:02 ebisdata.sql
-rwxrwxrwx 1 1000 ftp 51278 Mar 29 02:16 ebis.sql
-rwxrwxrwx 1 1000 ftp    83 Mar 29 02:18 env_local.conf
-rwxrwxrwx 1 1000 ftp    93 Mar 14 09:03 env_stg.conf
-rwxrwxrwx 1 1000 ftp  7233 Mar 29 03:01 exec.sh
-rwxrwxrwx 1 1000 ftp  5854 Mar 14 09:03 README.md
-rwxrwxrwx 1 1000 ftp 10481 Mar 14 09:03 refdb.sql
drwxrwxrwx 1 1000 ftp     0 Mar 14 09:03 update
[root@6d4f1e2363eb makedb]#

私が逃したものは何ですか?

ベストアンサー1

bashではなくrun scriptを使用していますsh。 (shおそらくbash実行されると、sh他の規則に従って動作します。)

get file を使用するときに絶対パスまたは相対パスではなく、ファイル名のみがある. something場合somethingPOSIXシェルの場合:

ファイルが含まれていない場合、<slash>シェルは指定された検索パスを使用してPATHファイルを含むディレクトリを見つけます。ただし、通常のコマンド検索とは異なり、ドットユーティリティで検索したファイルは実行可能である必要はありません。読み取り可能なファイルがないと、非対話型シェルは中断されます。対話型シェルは標準エラーに診断メッセージを記録する必要がありますが、この場合は構文エラーと見なすべきではありません。

Bash は現在のディレクトリでファイルを探します。 shebangを使用するにはbash、notまたはdoを使用してスクリプトを実行します。それ以外の場合はファイルパスを提供します。sh./exec.sh#!/bin/bash

sh exec.sh ./env_local.config ebis_tag

おすすめ記事