카테고리 없음

bash script에서 tilde(~) 가 작동을 안할 때!!

땅진 2023. 12. 19. 16:57

bash script를 만들다가 HOME Dir을 나타내는 ~가 작동을 안해서 당황을 했다.

 

찾아보니 틸드(~)는 작은이든 큰이든 따옴표 안에서는 작동을 안한다고 한다.

  ex) '~/abc', "~/qwe"

 

따라서 HOME Dir을 구하기 위해선 아래 2가지 방안 중 선택하여 사용하자. (2안을 추천한다)

 

  1. 따옴표 없이 틸드 사용
    DIR=~/abc
  2. HOME 변수 사용
    DIR="$HOME/abc"

참고 : https://stackoverflow.com/questions/27238491/tilde-not-working-on-if-then-statement-in-shell-script

 

Tilde (~/) not working on if then statement in Shell script

I have the following script file=${file:-letsdump.sh} checkfile="~/mysql_backup/$file" if [ -e "$checkfile" ]; then mv ~/mysql_backup/$file ~/mysql_backup/$file-bak-$(date +%d%m%Y_%H%M).bak else

stackoverflow.com