cd와 ls를 사용하여 디렉토리를 다음으로 변경하고 싶습니다 Typescript-initial-config-with-eslint/
.
package.json README.md tsconfig.json Typescript-initial-config-with-eslint/
public/ **src/** tslint.json yarn.lock
좋다:
cd ls | (4° item)
이를 수행하는 더 효율적인 방법이 있습니까?
답변1
선택 루프를 사용할 수 있다고 생각합니다.
select dir in *; do cd -- "$dir"; break; done
그러나 실제로는 cd
일반적인 사용보다 더 많은 입력이 필요하지만 이를 사용하여 함수를 만들 수 있습니다.
cdls () {
local PS3='cdls>'
select dir in *; do
if [[ -d "$dir" ]]; then
cd -- "$dir"
break
else
printf '%s\n' "You can only cd into a directory" >&2
fi
done
}
디렉터리가 아닌 파일을 먼저 표시하는 것도 그다지 유용하지 않습니다. 해당 cd
파일에 들어갈 수 없기 때문에 다음과 같이 할 수 있습니다.
cdls () {
local PS3='cdls>'
select dir in */; do
cd -- "$dir"
break
done
}
답변2
cd
" 목록의 네 번째 항목에 어떻게 접근 하나요 ls
?" 라고 묻는다면 ,
cd "$(ls | tail -n +6 | head -n 1)"