쉘스크립트 문의 드립니다.

   조회 3336   추천 0    

 하난 cent계열과 ubuntu 계열에서 다른 동작을 하여 어디에서 차이가 나는지 알수가 없어 문의드리니다.

$ echo ~

$ echo $HOME

위 두가지는 우분투 센트 같으나

#!/bin/bash

DIR = ~

echo $DIR

echo $HOME

sudo ./asdf.sh    실행시

cent는 /root 가 나오네요.

sudoers에 차이인거 같은데 정확히 어떤 옵션으로 이런 동작이 발생되는지 모르겟네요.

-----

내용을 두서 없이 적었나 보네요

in ubuntu

ubuntu 계정으로 command 날릴시 

$s udo  echo ~

/home/ubuntu

$ sudo echo $HOME

/home/ununtu

$ sudo ./위내용의스크립트 실행

/home/ubuntu

/home/ubuntu

/home/ubuntu

But

In Centos

$ sudo echo ~

/home/centos

$ sudo echo $HOME

/home/centos

여기까지는 둘다 동일합니다만.

$ sudo ./위스크립트 실행

/root

/root

/root

로 표기 된다는겁니다. 둘중 하나는 다른 동작을 하고 있는것이고

그 차이를 sudoers 일꺼라고만 추측중이고요...

짧은글 일수록 신중하게.
세벌쉭 2019-06
echo
명령만 만 있지..
change directory
명령이 없어서 그런 것 아닙니까 ?

사용해본지 오래되어서..
     
라이젠 2019-06
좀더 길게 적었습니다 ㅎ
엠브리오 2019-06
sudo 를 붙여서 실행했기 때문입니다.

sudo 는 실행될때 root 권한을 이용하여 실행하라는 뜻이거든요.
     
라이젠 2019-06
좀더 길게 적었습니다.
세벌쉭 2019-06
환경변수
출력명령으로 확인해 보시면 되는것 아닙니까 ?
세벌쉭 2019-06
~, $HOME 은 환경변수,
DIR 은 쉘 변수,

DIR=~ 을 실행하므로,
쉘 변수 DIR 도 결국 환경변수,

printenv, env 명령등으로,
단계별로, 중간중간,
환경변수를 출력하면서 실행해보면,
원인을 발견할 수 있지 않을까 ?

생각해봅니다.
라이젠 2019-06
sudoers 에 이런 내용이 있네요
# Preserving HOME has security implications since many programs use it when searching for configuration files. Note that HOME is already set when the the env_reset option is enabled, so this option is only effective for configurations where either env_reset is disabled or HOME is present in the env_keep list.


QnA
제목Page 4676/5710
2015-12   1693335   백메가
2014-05   5159081   정은준1
2020-04   3265   모자란트
2020-05   3265   한철희
2016-04   3265   미수맨
2021-04   3265   mimbab
2017-06   3265   이윤주
2014-07   3265   림스
2020-04   3265   김동자맨
2014-02   3265   가빠로구나
2020-04   3265   명성호
2021-05   3265   예술은폭팔
2021-02   3265   홀릭0o0
2021-07   3265   헥사코어
2014-04   3265   박성만
2018-11   3265   후리지아
2019-07   3265   겨울나무
2021-01   3265   웅입니다
2017-07   3265   늘파란
2018-10   3264   박정준
2014-02   3264   김상민
2020-11   3264   박문형