문제

나는 남아 있어야하는 KSH 스크립트를 가지고 있습니다 (그것이 실행되는 일부 프로그램은 KSH라고 주장합니다). 입력 인수 "test.txt"를 취하고 마지막 4자를 제거하거나 ".txt"를 아무것도 찾지 못하고 바꾸고 싶습니다.

Bash에서 나는 할 것이다

NewVar=${@/.txt/}

그래도 KSH에서는 작동하지 않습니다. KSH에서 .txt를 제거하려면 어떻게해야합니까? 나는 시도했다

bash -c 'NewVar=${@/.txt/}'

그러나 새로 생성 된이 쉘에 $@ 변수가 작동하지 않았습니다.

감사,

도움이 되었습니까?

해결책

사용하지 않는 이유 베이스 이름?

다른 팁

KSH는 $@로 할 수 없지만 임시 변수에 할당하면 다른 Proc를 산란하지 않고 할 수 있습니다.

tmp=$@
newvar=${tmp%.txt}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top