私はシェルスクリプトを呼び出したい場所からメイクファイルを持っています。これは何かを行い、結果をメイクファイルに返します。
詳細な説明 :-
私のメイクファイルから、次のようにシェルスクリプトを呼び出します:-
source = $(PWD)
target = $(ROOT)
SCRIPT:= /home/........./temp.sh
FUNCTION:=$(shell $(SCRIPT $source $target))`
シェル スクリプト「temp.sh」:-
source=$1
target=$2
echo There are $# arguments to $0: $*
common_part=$source # for now
result="" # for now
while [[ "${target#$common_part}" == "${target}" ]]; do
common_part="$(dirname $common_part)"
if [[ -z $result ]]; then
result=".."
else
result="../$result"
fi
done
if [[ $common_part == "/" ]]; then
result="$result/"
fi
forward_part="${target#$common_part}"
if [[ -n $result ]] && [[ -n $forward_part ]]; then
result="$result$forward_part"
elif [[ -n $forward_part ]]; then
result="${forward_part:1}"
fi
echo "Result=$result"
- Shell-Script の "echo ステートメント" が表示されません。同じ理由は何ですか?
- 結果をmakefileに戻すにはどうすればよいですか?
- これはメイクファイルからスクリプトを呼び出す正しい方法ですか?
私はこの分野の初心者です。