programing

변수 끝에서 문자 제거

yellowcard 2023. 4. 20. 20:44
반응형

변수 끝에서 문자 제거

Bash 자동 완료는 디렉토리 이름 끝에 /를 추가합니다.위치 매개 변수에서 이 항목을 제거하려면 어떻게 해야 합니까?

#!/bin/sh

target=$1

function backup(){
  date=`date "+%y%m%d_%H%M%S"`
  PWD=`pwd`
  path=$PWD/$target
  tar czf /tmp/$date$target.tar.gz $path
}

backup

사용하다

target=${1%/}

참고 자료입니다.

사용하다target=${1%/}

자세한 내용은 이 bash 스크립팅가이드의 파라미터 대체를 참조해 주세요.

경로를 구체화하는 더 좋은 해결책은realpath $path또는 을 사용하여-m옵션(존재하지 않는 경우)을 선택합니다.이 솔루션은 자동으로 불필요한 슬래시를 제거하고 pwd를 추가합니다.

주의: bash3는 bash에 perl-similar regex를 추가하였습니다.이 가이드에서는 GNU의 공식 가이드뿐만 아니라 이 가이드도 다루고 있습니다만, 모든 레퍼런스가 이에 대응하고 있는 것은 아닙니다.

제가 어떻게 했나요?

대체물2.19/*되려고2.19.

솔루션

VER="2.19/foo-bar"
NEWVER=${VER%/*}

언급URL : https://stackoverflow.com/questions/1848415/remove-a-character-from-the-end-of-a-variable

반응형