따옴표를 어떻게 사용하는지 헷갈립니다

따옴표를 어떻게 사용하는지 헷갈립니다

안녕하세요, 저는 bash와 코딩 전반에 대해 완전히 처음 접했습니다. 실행하고 싶은 화면 명령이 있습니다. "ftb" 화면에서 Minecraft 콘솔을 실행하고 있습니다.

screen -S ftb -p 0 -X stuff "tellraw @p ["",{"text":"This is a text!","bold":true,"color":"gold"},{"text":"\n"},{"text":"More text to be seen here!"},{"text":"\n"},{"text":"HAVE SOME TEXT IN UR FACE!","color":"green","clickEvent":{"action":"open_url","value":"https://google.com"}},{"text":"\n"},{"text":"Have Fun!"}]"

그러나 명령은 모든 따옴표와 혼동됩니다. 지금까지 시도해 보았지만 운이 없었습니다 ...

#! /bin/sh

say_this()

{
        screen -S ftb -p 0 -X stuff "$1^M"
}

say_this "tellraw @p ["",{"text":"This is a text!","bold":true,"color":"gold"},{"text":"\n"},{"text":"More text to be seen here!"},{"text":"\n"},{"text":"HAVE SOME TEXT IN UR FACE!","color":"green","clickEvent":{"action":"open_url","value":"https://google.com"}},{"text":"\n"},{"text":"Have Fun!"}]"

화면이 모든 따옴표를 무시하고 전체 명령을 Minecraft 콘솔로 보내고 "ftb" 화면에서 실행되도록 Minecraft 콘솔에서 실행하려는 명령을 캡슐화하는 방법이 있습니까?

명령은 콘솔에서 작성되고 실행되어야 합니다.

tellraw @p ["",{"text":"This is a text!","bold":true,"color":"gold"},{"text":"\n"},{"text":"More text to be seen here!"},{"text":"\n"},{"text":"HAVE SOME TEXT IN UR FACE!","color":"green","clickEvent":{"action":"open_url","value":"https://google.com"}},{"text":"\n"},{"text":"Have Fun!"}]

답변1

그것은 아무것도 아닌 껍질입니다 screen. 전체 내용을 작은따옴표로 묶어야 합니다. 작은따옴표의 유일한 특수 문자는 작은따옴표(따옴표로 끝남)입니다.

그러므로 이 문장은 이렇게 되어야 한다.

say_this 'message'

예를 들어

say_this 'tellraw @p ["",{"text":"This is a text!","bold":true,"color":"gold"},{"text":"\n"},{"text":"More text to be seen here!"},{"text":"\n"},{"text":"HAVE SOME TEXT IN UR FACE!","color":"green","clickEvent":{"action":"open_url","value":"https://google.com"}},{"text":"\n"},{"text":"Have Fun!"}]'

관련 정보