쉘 스크립팅을 처음 사용합니다. 나는 파일에서 몇 개의 문자열 값을 대체 할 requriment. 명령 행에서 읽어야하고 쉘 스크립트는 아래처럼 보입니다.배열에 같은 이름의 인수를 사용하는 방법
test.sh --old-value yahoo.com --new-value ibibo.io --old-value xxxxxx --new-value yyy --exclude aa bb cc
는 지금, 나는 다른 배열에 하나 개의 배열, --new-값으로 --old-값을 읽고 다른 배열로 --exclude합니다.
나는 아래의 접근 방법을 시도하고있다.
while [[ $# -gt 1 ]]
do
key="$1"
case $key in
--old-value)
OLDVALUE="$2"
shift # past argument
;;
--new-value)
NEWVALUE="$2"
shift # past argument
;;
--exclude)
EXCLUDEFILETYPES=("[email protected]")
shift
;;
*)
# unknown option
;;
esac
shift # past argument or value
done
그러나 이전 값을 OLDVALUE로 읽습니다. --old-values를 배열로 읽어야합니다.
누군가이 유스 케이스 달성 방법에 대해 도움을 줄 수 있습니까?
두 가지 옵션을 사용하면 약간 자세한 정보가 표시됩니다. 특히 쌍으로 표시해야하기 때문에 * 특히 * 사용해야합니다. 당신은 두 개의 인수를 취하는 단일 옵션으로 그것을 줄일 수있는 기회는 무엇입니까? 예 :'test.sh --replace yahoo.com ibibo.io --replace xxxxx yyy --exclude aa bb cc' – chepner