Fish-shell: [ํ•ด๊ฒฐ๋จ] precmd/PROMPT_COMMAND์— ํ•ด๋‹นํ•˜๋Š” ๋ฌผ๊ณ ๊ธฐ?

์— ๋งŒ๋“  2016๋…„ 04์›” 16์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: fish-shell/fish-shell

precmd(zsh)/PROMPT_COMMAND(bash)์— ํ•ด๋‹นํ•˜๋Š” ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ณ„๋„์˜ ๋กœ๊ทธ ํŒŒ์ผ์— ๊ฒฝ๋กœ, ๋‚ ์งœ ๋ฐ ๋ช…๋ น์ด ํฌํ•จ๋œ ๋ณด๋‹ค ํฌ๊ด„์ ์ธ ๊ธฐ๋ก์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. Fish์˜ ํ”„๋กฌํ”„ํŠธ๋Š” fish_prompt ๋ผ๋Š” ํ•จ์ˆ˜์˜ ์•ฝ๊ฐ„์˜ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. funced fish_prompt ๋ฅผ ํ†ตํ•ด ์ˆ˜์ •ํ•œ ๋‹ค์Œ funcsave fish_prompt ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋””์Šคํฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ~/.config/fish/functions/fish_prompt.fish์— ์ €์žฅ๋˜๋ฉฐ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๊ทธ๋ ‡๊ฒŒ ์„ ํƒํ•œ๋‹ค๋ฉด).

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ”„๋กฌํ”„ํŠธ ์ง์ „์— ์‹คํ–‰๋  fish_prompt ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

function dostuff --on-event fish_prompt
    # do your stuff
end

์ด๋Š” ์ž๋™ ๋กœ๋“œ๋˜๋ฏ€๋กœ functions ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. config.fish, ๋˜๋Š” (๋‹ค์Œ fish ๋ฆด๋ฆฌ์Šค์—์„œ) ~/.config/fish/conf.d(".fish"๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ)์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ fish_preexec ๋ฐ fish_postexec ์ด๋ฒคํŠธ๊ฐ€ ๊ฐ๊ฐ ์ž‘์—… ์ง์ „/์งํ›„์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. Fish์˜ ํ”„๋กฌํ”„ํŠธ๋Š” fish_prompt ๋ผ๋Š” ํ•จ์ˆ˜์˜ ์•ฝ๊ฐ„์˜ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. funced fish_prompt ๋ฅผ ํ†ตํ•ด ์ˆ˜์ •ํ•œ ๋‹ค์Œ funcsave fish_prompt ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋””์Šคํฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ~/.config/fish/functions/fish_prompt.fish์— ์ €์žฅ๋˜๋ฉฐ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๊ทธ๋ ‡๊ฒŒ ์„ ํƒํ•œ๋‹ค๋ฉด).

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ”„๋กฌํ”„ํŠธ ์ง์ „์— ์‹คํ–‰๋  fish_prompt ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

function dostuff --on-event fish_prompt
    # do your stuff
end

์ด๋Š” ์ž๋™ ๋กœ๋“œ๋˜๋ฏ€๋กœ functions ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. config.fish, ๋˜๋Š” (๋‹ค์Œ fish ๋ฆด๋ฆฌ์Šค์—์„œ) ~/.config/fish/conf.d(".fish"๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ)์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ fish_preexec ๋ฐ fish_postexec ์ด๋ฒคํŠธ๊ฐ€ ๊ฐ๊ฐ ์ž‘์—… ์ง์ „/์งํ›„์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@gawells , ์ด๊ฒƒ์ด ๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์ด์—ˆ์Šต๋‹ˆ๊นŒ?

๋„ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰