명령에 정보를 전달하기 위해 스크립트에서 위치 매개변수를 사용하고 싶지만 작동하지 않습니다. 매개변수 확장을 통해 이것이 가능합니까?
lvresize -r -L 4G /dev/mapper/vol-opt
lvresize -r -L "$($2)G" "$opt"
$2
(의 값은 4
)
답변1
두 번째 위치 인수가 4
다음과 같이 전달되기를 원할 것입니다.
lvresize -r -L "$2G" "$opt"
하지만 청소용으로만 교정기를 사용하는 것이 좋습니다.
lvresize -r -L "${2}G" "$opt"
어떻게 설정해야 하는지는 확실하지 않지만 opt
, 이미 설정하신 것으로 가정하겠습니다.
글을 쓰면 $($2)
수행이 된다명령 대체4
그래서 존재하지 않을 수도 있는 이름의 명령을 실행하려고 합니다 .
교정장치는 일반적으로필수의이 경우 다른 유형의 매개변수에 대해서는 뒤에 오는 인접한 텍스트가 변수 이름의 일부로 간주되는 것을 방지하기 때문입니다.
예를 들어:
$ var=good
$ varg=bad
$ echo "$varg"
bad
$ echo "${var}g"
goodg