에포크 시간을 날짜로 변환하는 기능이 있습니다. 여기에 정의가 있습니다
date1(){
date -d @$1
}
나는 쓸 수 있기를 원합니다 :
$ date1 xxxyyy
xxxyyy는 매개 변수이며 함수에 전달하므로 해당 날짜를 얻을 수 있습니다. 나는 중 하나에 추가해야 이해 .bash_profile
, .profile
또는 .bashrc
그것을 소스 다음과 :
$ source file
그러나 어떤 파일을 넣을지 잘 모르겠습니다. 현재에 .profile
있습니다. 그러나 그것을 실행하려면 source .profile
매번 해야 합니다.
환경 변수처럼 컴퓨터가 시작될 때 사용 가능하게하는 것이 이상적입니다.
답변
보낸 사람 man bash
:
bash가 대화식 로그인 쉘 또는 –login 옵션을 사용하는 비 대화식 쉘로 호출되면 파일이 존재하는 경우 먼저 / etc / profile 파일에서 명령을 읽고 실행합니다. 해당 파일을 읽은 후 ~ / .bash_profile, ~ / .bash_login 및 ~ / .profile을 순서대로 찾고 존재하고 읽을 수있는 첫 번째 파일에서 명령을 읽고 실행합니다.
즉,이 중 하나에 넣어 수 있습니다 ~/.bash_profile
, ~/.bash_login
또는 ~/.profile
, 또는 모든 파일은 source
그 중 하나에 의해 거라고 . 일반적으로 “로그인 쉘에 대해 실행되는 개인 초기화 파일”인 ~/.profile
source ~/.bashrc
를 사용합니다.
이를 활성화하려면 새 쉘을 시작 exec $SHELL
하거나 실행하거나 실행하십시오 source ~/.bashrc
.
답변
에 함수를 정의한 후을 .profile
추가하십시오 export -f date1
. 로그인 쉘에서 사용할 함수를 내 보냅니다.
답변
대화식 쉘에 대한 사용자 정의가 시작됩니다 ~/.bashrc
. 로그인 할 때 실행하려는 항목은 ~/.profile
(또는 로 로그인 ~/.bash_profile
하지만 그래픽으로 로그인 할 때 종종로드되지 않습니다).
이 함수 정의를에 넣으십시오 ~/.bashrc
.
bash는로드되지 않기 때문에 .bashrc
이 로그인 쉘이 때, 그렇게하도록 강제하십시오 쓰기 ~/.bash_profile
포함
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
즉, load ~/.profile
및 load~/.bashrc
이고 쉘이 대화식 인 경우 됩니다.
답변
csh와 tcsh는 bash와 같은 기능을 지원하지 않지만 할 수는 있습니다.
예를 들어 다음은 일부 텍스트를 인쇄하는 간단한 함수입니다.
alias print_hello_world 'eval echo "hello world"'
스크립트에 인수 전달
repeate_after_me 'eval echo "$1"'
if 문과 같은 멀티 라인 코드를 수행하는 것은 다소 복잡하지만 여기에 있습니다.
alias X 'eval "if (\!:1 =~ 'yes') then \\
echo yes \\
else \\
echo no \\
endif"'
당신은 여전히 평가해야하지만 가장 복잡한 부분은 \!:[x]
명령 줄에서 입력을 얻기 위해 구문을 입니다.
그것은 당신을 정리하기에 충분해야합니다.
답변
typeset을 사용 하여 모든 현재 함수를 bashrc로 리디렉션 할 수 있습니다 .
예를 들어, 다음은 선택적 매개 변수가있는 openstack 명령의 함수를 bashrc에 추가하는 방법입니다.
urc() { . stackrc; set -x; openstack server list --all $1; set +x; }
typeset -f >> ~/.bashrc
이제 향후 세션을 위해 저장되며 다음과 같이 사용할 수 있습니다.
$ urc
또는
$ urc --debug
답변
포인트 18 : 관리자가 ksh와 bash를 배우는 것이 나의 오래된 기억에서 다른 방식으로 키나였습니다. 1 :-/ etc / profile 내용은 sysWide입니다. / etc / skel에는 새 계정에 지정된 파일이 포함되어 있습니다. 배쉬는 이제 모든 배포판의 공통점이되었습니다. 다음은 시스템 표준으로서 2 :-~ / .profile이고 “존재하는 경우”.profile의 내용 내에 있습니다. .bash_profile은-> 3 :-.bash_profile 4 :-.bash_login 5 :-. bashrc입니다. 표준 터미널 및 셸 환경과 일반적인 .bash_login을 찾지 못했거나 존재하지 않는 (사용자별로 사용자 정의) 설정하는 것이 올바른 순서입니다. .profile $ PATH를 사용하는 경우.
.bash_profile .profile을 추가해도 여전히 지배적이며 .bash_profile의 존재를 존중하지 않습니다. 헤더 정보와 함께 아무도 업데이트하지 않습니다. bash startup Samples-디렉토리 구조가 더 이상 없습니다-예제와 함께 또는 파일이 gzip입니다. 그래서 Gnu-Bash로 업데이트하십시오