별칭, 함수를 살펴 봤지만 만족스러운 것은 없었습니다. 몇 가지 시나리오를 알려 드리겠습니다.
cd
폴더에 넣은 횟수의 95 %가ls
명령을 따릅니다 .- 시간의 90 % I
mkdir
, Icd
나 자신이에.
당신은 아이디어를 얻습니다.
이 명령들을 함께 묶는 가장 깨끗한 방법은 무엇입니까?
별칭, 함수를 살펴 봤지만 만족스러운 것은 없었습니다. 몇 가지 시나리오를 알려 드리겠습니다.
cd
폴더에 넣은 횟수의 95 %가 ls
명령을 따릅니다 .mkdir
, I cd
나 자신이에.당신은 아이디어를 얻습니다.
이 명령들을 함께 묶는 가장 깨끗한 방법은 무엇입니까?
답변:
이 줄을 당신의 .zsrhc
또는.bashrc
[ -z "$PS1" ] && return
function cd {
builtin cd "$@" && ls -F
}
결과->
이 답변의 설명 :
내 .bashrc의 이전에는 다음이 있습니다. [-z "$ PS1"] && return, 그리고 그 줄 뒤의 모든 것은 대화식 세션에만 적용되므로 스크립트에서 cd의 동작에 영향을 미치지 않습니다.
이 의견의 추가 정보 :
[-z "$ PS1"] $ PS (대화식 프롬프트 변수)가 "제로 길이"(-z)인지 확인합니다. 길이가 0이면 설정되지 않았으므로 Bash가 대화식 모드에서 실행되고 있지 않아야합니다. 이 조건에서 && 리턴 부분은 .bashrc 소싱에서 나갑니다.
Btw, 질문 주셔서 감사합니다, 정말 멋지다 :)
편집하다 :
또 다른 해결책은 ls를 프롬프트에 통합하는 것입니다. OhMyZsh로 그렇게 할 수 있다고 확신합니다.)
나는 이것을 위해 새로운 명령을 내리는 경향이 있습니다. 나는 그것들을 하나의 것으로 결합하는 것이 논리적이라고 생각합니다.
go() {
if [ -d "$1" ]; then
cd "$1" && ls
else
mkdir -p "$1" && echo "Created directory $1" && cd "$1"
fi
}
/....
또는 ../
기타) 에 대한 점검을 구현 하고 디렉토리가 비어 있으면 삭제 하기가 어렵 습니까? 디렉토리를 비워두면 디렉토리가 비어 있는지 확인하고 그렇다면 삭제하십시오. 당신이 그것을 원하지 않는다면, 당신은 여전히 대신에 cd를 사용할 수 있습니다
나는 이런 것들을 내 것에 추가하려고 시도했다 .bashrc
.
cd() {
command cd "$@"
command ls
}
mkdir() {
command mkdir "$@"
command cd "$@"
}
그러나 이것이 재정의 된 명령을 사용하는 스크립트를 망칠 수 있으며 옵션 처리가 취약 할 수 있음을 발견했습니다 (예 : -p
위 mkdir
명령 에 전달하려는 경우 에도 전달됨 cd
). 다른 이름 (예 : c
또는 mcd
)으로 별칭을 정의하는 것이 좋습니다.
[ -z "$PS1" ] && return
이러한 기능을 수행하기 전에 파일 끝에 삽입 하면 도움이됩니다.