
コマンドラインからファイル引数をスクリプトに渡そうとしたが、config
期待した結果は得られません。ありがとうございます:)。
設定はコマンドラインから次のように呼び出されます。
bash script.sh /path/to/config.txt
/path/to/config.txtの内容
#File1comment
var1=/path/to/file1
#File2comment
var2=/path/to/file2
script.shの内容
config=$1
. $config
echo -e "$@"
test -n "$1" && set -- a b c
現在の
/path/to/config.txt
欲しい --- スクリプトに使用可能なすべてのファイル ---
/path/to/file2
/path/to/file2
新しいコード
config=$1
set -- $config
echo -e "$@"
while read line; do
printf "$line" >script.sh
done <"$config"
答え1
構成ファイルで必要な作業または実行する必要がある操作は少し不明瞭です。
構成ファイルがスクリプトに含めるファイルである場合(例のいずれかで行ったように)、$config
ファイル名のコードが実行されます。
filenameのコードを実行して$config
2つの変数var1
sumを設定しますvar2
。その値を使用するには、$var1
スクリプトでおよびを使用します。$var2
#!/bin/bash
config=$1
. $config
printf 'var1 is %s\n' "$var1"
printf 'var2 is %s\n' "$var2"
=
次が指すファイルの文字の後の文字列を解析する$config
場合いいえファイルのソースをインポートして、sed
次のように使用します。
#!/bin/bash
config=$1
sed -n '/^#/d; /[^=]*=/s///p' "$config"
このスクリプトのコマンドは、文字で始まるか、文字を含まないすべての行をsed
無視します。 1行ずつフィルタリングして、行の最初の文字とその前のすべての文字を削除し、残りのデータを印刷します。#
=
=