at (1) 및 batch (1) 명령에 대한 자세한 옵션 설정

A 프로그램

터미널에 연결되지 않은 표준 입력에서 명령을 읽는 쉘에 대해 verbose 및 xtrace 옵션을 자동으로 설정하려고합니다 (이 테스트는 at (1) 및 batch (1)에 의해 실행되는 프록시입니다. 명령, 더 나은 명령이있는 경우에도 허용됩니다).

그래도 가질거야

if [[ -o SHIN_STDIN ]] && ! test -t 0 ; then
    PS4="> "
    setopt verbose xtrace
fi

내 .zshenv에서 트릭을 수행하지만 .zshenv가 실제로 올바르게 실행되고 [[ -o SHIN_STDIN ]] && !test -t 0 && echo OK배치로 시작할 때 예상 이메일을 수신 하는지 확인했지만 그렇지 않습니다 .

내가 무엇을 놓치고 있습니까?

참고 tcsh는 이러한 쉘을 대화식으로 간주합니다 (프롬프트를 널이 아닌 값으로 설정). zsh는 그렇지 않습니다 (-o interactive를 사용한 테스트, .zprofile, .zshrc는 읽지 않음). 이상한 점은 -o SHIN_STDIN .zshenv와 일괄 처리로 등록 된 명령 실행 사이의 값 변경입니다.

스테판 샤젤 라스

sh_in_stdinon해석하는 동안 ~/.zshenv또는 소스 파일을 해석 할 때가 아닙니다 (이 경우 쉘 코드는 stdin에서 나오지 않습니다). 당신은 추가하여 확인할 수 있습니다 echo $options[shinstdin]당신에게 ~/.zshenv, 또는 실행 :

$ echo 'echo $options[shinstdin]; source =(<<<"echo \$options[shinstdin]")' | zsh
on
off

대신 $PPID실행 중인지 확인할 수 있습니다 atd.

if [[ $(ps -o comm= -p $PPID) = atd ]]; then...

개인적으로 저는 zshatd에서 실행되는 모든 호출에 대해 무조건적으로 수행한다는 생각이 마음에 들지 않습니다 .

항상 다음을 수행하는 debug-at명령을 정의 할 수 있습니다 .

debug-at() {
  {
    echo 'PS4="> "; set -o verbose -o xtrace'
    cat
  } | at "$@"
}

그리고 디버깅을 켜고 / 작업을 실행 at하려는 경우 대신 사용하십시오 .atbatch

모든 시스템 $SHELL이 제공된 코드를 해석하는 데 사용하는 것은 아닙니다 . 데비안은 at그렇지 않습니다. POSIX는 구현 정의 상태로 둡니다 . 위의 접근 방식은 어떤 쉘이 사용되는지에 관계없이 작동합니다 (Korn / POSIX와 유사한 경우).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Linux 트리 명령에 대한 기본 수준 옵션 설정

분류에서Dev

zsh : 단일 명령에 대한 옵션 설정

분류에서Dev

옵션이 아닌 명령에 대한 설명을 설정하는 방법

분류에서Dev

bash sed : -e expression # 1, char 21 :`s '명령에 대한 숫자 옵션은 0이 아닐 수 있습니다.

분류에서Dev

-D 옵션이있는 ssh 명령에 대한 설명

분류에서Dev

파일에 지정된 명령에 대한 옵션

분류에서Dev

Angular 퀴즈 앱에서 옵션 1에 대한 설명을 어떻게 표시하나요?

분류에서Dev

cryptsetup에 대한 기본 옵션 설정

분류에서Dev

-1 옵션에 대한 적절한 numpy.reshape 알아 내기

분류에서Dev

$ 1 및 $ 2를 사용하여 bash 스크립트에 사용자 지정 명령 옵션을 포함하는 방법은 무엇입니까?

분류에서Dev

옵션 선택에 대한 여러 값 설정 및 jQuery로 가져 오기

분류에서Dev

django syncdb --all 옵션에 대한 설명

분류에서Dev

java 명령에 대한 -cp 옵션

분류에서Dev

우분투 터미널의 특정 명령에 대한 자동 완성 옵션

분류에서Dev

Docker의 Mesos 및 Kubernetes에 대한 설정 명령?

분류에서Dev

양수 및 -1 자바 스크립트에 대한 정규식

분류에서Dev

Google Code Jam 2019, Round 1C, 문제 1의 솔루션에 대한 설명

분류에서Dev

1-49에서 6 자리 세트에 대한 정규식

분류에서Dev

1px 라인에 대한 불투명도 설정 시도

분류에서Dev

gcc의 링커 옵션에 '-pthread'가 필요한 이유에 대한 자세한 설명은 무엇입니까?

분류에서Dev

yii1을 사용하여 드롭 다운 목록에서 선택한 옵션 설정

분류에서Dev

명령 줄의 명령 옵션-세부 정보 및 기능?

분류에서Dev

Entity Framework Core 3.1-명령 및 트랜잭션에 대한 정보 기록

분류에서Dev

명령 줄 svn export 명령에 대한 재시도 옵션

분류에서Dev

shopt extglob 설정에 대한 범위 제한은 무엇입니까? 및 기타 옵션?

분류에서Dev

특정 명령 옵션에 대한 도움말을 얻는 방법

분류에서Dev

batch_size> 1에 대한 Keras (세그멘테이션 모델)와 호환되지 않는 모양 문제

분류에서Dev

잘못된 옵션-xargs 쉘 명령의 명령에서 1

분류에서Dev

Android의 설정 "계정 추가"옵션에 대한 활동

Related 관련 기사

  1. 1

    Linux 트리 명령에 대한 기본 수준 옵션 설정

  2. 2

    zsh : 단일 명령에 대한 옵션 설정

  3. 3

    옵션이 아닌 명령에 대한 설명을 설정하는 방법

  4. 4

    bash sed : -e expression # 1, char 21 :`s '명령에 대한 숫자 옵션은 0이 아닐 수 있습니다.

  5. 5

    -D 옵션이있는 ssh 명령에 대한 설명

  6. 6

    파일에 지정된 명령에 대한 옵션

  7. 7

    Angular 퀴즈 앱에서 옵션 1에 대한 설명을 어떻게 표시하나요?

  8. 8

    cryptsetup에 대한 기본 옵션 설정

  9. 9

    -1 옵션에 대한 적절한 numpy.reshape 알아 내기

  10. 10

    $ 1 및 $ 2를 사용하여 bash 스크립트에 사용자 지정 명령 옵션을 포함하는 방법은 무엇입니까?

  11. 11

    옵션 선택에 대한 여러 값 설정 및 jQuery로 가져 오기

  12. 12

    django syncdb --all 옵션에 대한 설명

  13. 13

    java 명령에 대한 -cp 옵션

  14. 14

    우분투 터미널의 특정 명령에 대한 자동 완성 옵션

  15. 15

    Docker의 Mesos 및 Kubernetes에 대한 설정 명령?

  16. 16

    양수 및 -1 자바 스크립트에 대한 정규식

  17. 17

    Google Code Jam 2019, Round 1C, 문제 1의 솔루션에 대한 설명

  18. 18

    1-49에서 6 자리 세트에 대한 정규식

  19. 19

    1px 라인에 대한 불투명도 설정 시도

  20. 20

    gcc의 링커 옵션에 '-pthread'가 필요한 이유에 대한 자세한 설명은 무엇입니까?

  21. 21

    yii1을 사용하여 드롭 다운 목록에서 선택한 옵션 설정

  22. 22

    명령 줄의 명령 옵션-세부 정보 및 기능?

  23. 23

    Entity Framework Core 3.1-명령 및 트랜잭션에 대한 정보 기록

  24. 24

    명령 줄 svn export 명령에 대한 재시도 옵션

  25. 25

    shopt extglob 설정에 대한 범위 제한은 무엇입니까? 및 기타 옵션?

  26. 26

    특정 명령 옵션에 대한 도움말을 얻는 방법

  27. 27

    batch_size> 1에 대한 Keras (세그멘테이션 모델)와 호환되지 않는 모양 문제

  28. 28

    잘못된 옵션-xargs 쉘 명령의 명령에서 1

  29. 29

    Android의 설정 "계정 추가"옵션에 대한 활동

뜨겁다태그

보관