인수가 제공되지 않은 경우 마지막 인수로 명령을 실행하도록 bash 구성

인수가 제공되지 않은 경우 마지막 인수로 명령을 실행하도록 bash 구성

인수 없이 명령을 실행할 때(명령이 아닌 명령 목록에서 수행하는 것이 좋음) 이전 명령의 인수를 가져오도록 bash를 구성하고 싶습니다.

예를 들어 를 입력 emacs ~/.bashrc한 다음 을 입력하면 sourcebash가 실행됩니다 source ~/.bashrc. 이것이 가능하다는 것을 알고 있지만 그러한 옵션을 어디서 찾을 수 있는지 모르겠습니다.

답변1

Space를 누르기 전에 +를 누를 수 있습니다 Meta. 이것의 장점은 인수 없이 적용될 때 의미가 있는 명령에도 사용할 수 있다는 것입니다. For, 타이핑을 줄이는 데 사용됩니다..Entersource.

구식이라면 를 사용하여 !^이전 명령의 첫 번째 인수, !$마지막 인수 또는 !*명령 이름을 제외한 모든 인수를 호출할 수 있습니다.

각 명령에 함수를 작성하면 설명하는 동작을 정확하게 얻을 수 있습니다. 이전 명령의 마지막 매개변수는 특수 매개변수에서 사용할 수 있습니다 $_.

make_wrapper_to_recall_last_argument () {
  for f do eval <<EOF; done
function $f {
  if [ \$# -eq 0 ]; then set -- "\$_"; fi
  command $f "\$@"
}
EOF
}
make_wrapper_to_recall_last_argument source .

답변2

내가 아는 클로징 전략은 Alt+.

이를 통해 이전의 모든 매개변수를 반복할 수 있습니다.

관련 정보