https://magicant.github.io/yash/이 readme도 日本語에서도 사용할 수 있습니다.
또 다른 쉘 인 Yash는 C99 (ISO/IEC 9899 : 1999)로 작성된 POSIX 호환 명령 라인 쉘입니다. YASH는 세계에서 가장 호환되는 쉘이며 일일 대화식 및 스크립팅 사용을위한 기능을 지원합니다. 주목할만한 기능은 다음과 같습니다.
YASH는 GNU 일반 공개 라이센스 (버전 2)의 조건에 따라 수정/재분배 될 수 있지만이 프로그램의 사용은 보증이 없습니다. GPL의 전체 텍스트는 복사 파일을 참조하십시오.
Yash는 Github에서 유지되었지만 이전에는 OSDN에있었습니다.
Yash는 이제 아래에 나열된 제한 사항을 제외하고 Posix.1-2008 (IEEE STD 1003.1, 2016 Edition)을 완전히 지원합니다.
Yash는 안정적입니다. 유지 보수 업데이트는 3 개월 정도마다 릴리스됩니다. 변경 기록은 뉴스 파일을 참조하십시오.
Yash는 소프트웨어 개발 유틸리티 및 C-Language Development Utilities 옵션을 사용하여 모든 Posix.1-2001 환경을 구축하고 실행해야합니다.
현재 Yash는 주로 Fedora, MacOS 및 Cygwin에서 테스트됩니다.
Yash를 빌드하고 설치하는 방법을 보려면 설치 파일을 참조하십시오.
설치 후 매뉴얼을 볼 수 있습니다
$ man yash
매뉴얼은 https://magicant.github.io/yash/doc/에서 온라인으로 제공됩니다.
아래는 YASH를 시작하기 위해 설치 후 확인할 수있는 기본 구성에 대한 설명입니다. 구성 세부 정보는 매뉴얼을 참조하십시오.
Yash가 로그인 쉘로 시작되면 $XDG_CONFIG_HOME/yash/profile 또는 ~/.yash_profile 폴백으로 읽습니다. 이 파일은 내보내기 명령을 사용하여 환경 변수를 정의하는 쉘 스크립트입니다.
대화식 용도로 YASH가 시작되면 $XDG_CONFIG_HOME/yash/rc 또는 ~/.yashrc 를 읽습니다 (로그인 쉘 인 경우 $XDG_CONFIG_HOME/yash/profile 읽은 후). 이 파일에서는 별칭, 프롬프트 문자열, 명령 줄 편집의 주요 바인딩 및 명령이없는 핸들러와 같은 다른 구성을 만듭니다. 공유/초기화/샘플 파일을 $XDG_CONFIG_HOME/yash/rc 의 템플릿으로 사용하십시오.
많은 UNIX와 같은 OS에서 쉘을 로그인 쉘로 설정하려면 쉘을 /etc/shells 에 나열되어야합니다. 이 파일을 편집하고 YASH로가는 경로가 파일로 작성되었는지 확인하십시오.
그런 다음 터미널에서 chsh 명령을 실행하고 명령에서 지시 사항을 따르십시오. 시스템에 따라 로그인 쉘을 변경하려면 다른 명령을 사용해야 할 수도 있습니다. 시스템의 문서를 참조하십시오.
__attribute__ 는 소스 코드에 사용됩니다. GCC 또는 Clang으로 컴파일하지 않으면이 키워드는 사전 처리기에 의해 제거되므로 일반적으로 피해가 없습니다. 그러나 컴파일러가 다른 목적 으로이 키워드를 사용하는 경우 컴파일이 실패 할 수 있습니다. 또한 _ 로 시작하는 다른 식별자는 일부 드문 환경에서 컴파일 오류를 일으킬 수 있습니다. 0400=user read 0200=user write 0100=user execute
0040=group read 0020=group write 0010=group execute
0004=other read 0002=other write 0001=other execute
-o nolog 옵션은 지원되지 않습니다. 조용히 무시됩니다.PS1 의 값은 매개 변수 확장에 따릅니다. YASH는 PS1 값에 대해 명령 대체 및 산술 확장을 수행합니다.printf %c foo 명령은 String foo 의 첫 바이트를 인쇄해야합니다. Yash는 foo 의 첫 번째 캐릭터를 인쇄하며, 이는 둘 이상의 바이트 일 수 있습니다.return 내장은 트랩 내에서 실행 된 함수, 스크립트 또는 루프에서만 작동 할 수 있습니다. 이 제한은 엄격하게 posix를 준수하지는 않지만 쉘의 일관되고 예측 가능한 거동에 필요합니다.$LINENO )는 라인 연속을 포함하는 복잡한 확장 내에서 및 후에 올바르게 계산할 수 없습니다.config.h 헤더 파일에서 HAVE_WCSNRTOMBS 매크로를 정의하여 해결 될 수 있습니다. 의견, 제안 및 버그 보고서는 다음과 같습니다.
번역에 관심이 있으시면 Translating.md를 참조하십시오.
Watanabe, yuki [email protected]