나는 함수가 정의 read_command 한배쉬 변수 대체
greet ${a:-"Bob"}
greet ${b:-"Jim"}
####
a: name of friend a
b: name of friend b
####
터미널에서 실행 된 명령은
read_command test
입력이 없을 때 나는 예상하고 있습니다.
greet Bob
greet Jim
하지만 내가 얻을 것은 : 마지막 문을 넣어가되게합니다
greet ${a:-"Bob"}
greet ${b:-"Jim"}
여기에 어떤 문제가 있습니까?
편집 : David의 제안에 따라 다음 경우를 제외하고 eval이 작동하는 경우도 있습니다.
j=1;i="export DISPLAY=:0 && Xephyr :${j}&";k=$(eval echo "$i");
echo $k
수출 DISPLAY = : 0 나는 K가 될 기대하고
"수출 DISPLAY = : 0 & & Xephyr는 : & 1"여기 무슨 일이야? 편집 : 나는이 내가 일하고 스크립트에 대한 링크입니다 다음
k=$(eval "echo \"$i\"")
로했습니다. echo "$__line"
의 첫 while
루프 동안 https://gist.github.com/QiangF/565102ba3b6123942b9bf6b897c05f87
줄 끝의 세미콜론은 불필요합니다. 쉘 스크립트에서 새로운 행 * 또는 * 세미콜론으로 명령 구분 기호로 충분합니다. – tripleee
예를 들어 다음과 같이 웹에 너무 많은 나쁜 예가 있습니다. – godblessfq