KSH 스크립트 : Bash와 같은 문자 대체 실행 : $ {@.txt/}
문제
나는 남아 있어야하는 KSH 스크립트를 가지고 있습니다 (그것이 실행되는 일부 프로그램은 KSH라고 주장합니다). 입력 인수 "test.txt"를 취하고 마지막 4자를 제거하거나 ".txt"를 아무것도 찾지 못하고 바꾸고 싶습니다.
Bash에서 나는 할 것이다
NewVar=${@/.txt/}
그래도 KSH에서는 작동하지 않습니다. KSH에서 .txt를 제거하려면 어떻게해야합니까? 나는 시도했다
bash -c 'NewVar=${@/.txt/}'
그러나 새로 생성 된이 쉘에 $@ 변수가 작동하지 않았습니다.
감사,
단
해결책
사용하지 않는 이유 베이스 이름?
다른 팁
KSH는 $@로 할 수 없지만 임시 변수에 할당하면 다른 Proc를 산란하지 않고 할 수 있습니다.
tmp=$@
newvar=${tmp%.txt}
제휴하지 않습니다 StackOverflow