jordanm의 답변 이 잘못되었습니다. /etc/profile
모든 쉘이 제공하는 것은 아닙니다. 당신이 지적하는 것처럼,에 의해 공급되지 않고 csh
, tcsh
- 나는 확실하지 않다 zsh
. sh
Korn Shell ( ksh
) 및 BASH ( bash
) 와 같은 Bourne shell ( ) 파생물 이 제공합니다 . csh
을 사용합니다 /etc/login
. Borne Shell 파생 상품을 독점적으로 사용하는 사람들은 다른 쉘을 잊어 버리는 경향이 있습니다. 그들은 /etc/profile
"모든 사용자들"에게 적용되기를 기대하는 것에 무언가를 추가 하고 이상한 C 쉘 사용자 (그리고 우리는 이상한 로트)가 그들이 구성한 것들을 가지고 있지 않을 때 놀랍니다 /etc/profile
.
그럼에도 불구하고 사람들은 다른 Borne Shell 파생 쉘이 존재하는 것을 잊는 경향이 있습니다. 그들이 사용하는 경우 bash
또는 ksh
, 그들은 구문을 추가 부담 /etc/profile
변수를 정의하고 같은 줄에 수출 말처럼 즉, Bourne 쉘에서 유효하지 않습니다. 그런 다음 스크립트를 수행 #!/bin/sh
하고 구문을 질식시킵니다. /etc/profile
Bourne Shell 호환 구문을 준수해야합니다.
마찬가지로 bash 구문을 원할 경우 .profile
사용 .bash_profile
하십시오. 약간 추가 입력이 가능하지만 한 번에 추가로 입력하는 추가 입력입니다. 참조 ${HOME}
및 ~
기타 등등. 유닉스의 일부 특징, cron 작업은 아래 sh
에서 실행되고 각 줄 Makefile
은에서 처리 sh
되므로 여러 가지 유형의 UNIX에서 작업하는 경우 .profile
Bourne 쉘과의 호환성 을 유지하기 위해 실제로 지불합니다 . SysAdmin으로서 .profile
Bourne Shell과 호환되도록 수정하여 누군가를 도와 준 횟수를 알 수 없습니다 .
리눅스에서, 당신이 그것을 실행할 때 /bin/sh
의 링크 /bin/bash
이며, 그것을 실행하는 데 사용 된 경로를 보이며, 이론적으로 Bourne Shell이 지원하는 것으로 만 제한됩니다. 마찬가지로 vi
Linux에서는 실제로 vim
다시 제한적입니다. 때때로 "블리드 스루"기능이 나타납니다. 때때로 vim
척 vi
뭔가 할 것입니다 vim
것을 지원 vi
하지하지의 저자가 있기 때문에 vim
"VI 이전 버전과의 호환성"모드에서이 기능의 사용을 중지하는 것이 잊어 버렸습니다. bash
척하는 것이 sh
비슷한 "블리드 스루"기능을 가지고 있다면 놀라지 않을 것 입니다. 일부 기능이 "Linux의 Borne Shell에서 작동"하지만 System V 또는 BSD 기반 UNIX (AIX, OpenBSD 등)에서는 작동하지 않더라도 놀라지 않을 것입니다.
Does it have positive ... and understood.
여기서 뭐라고하세요? 나는 그 단락 이외의 모든 것을 이해했습니다.