난이 :은 zenity 폴더 선택 내용과 가변의 sed를 사용하여
dir="null"
if [ $dir = "null" ] || [ $$dir = "" ] || [ $dir = "1" ] || [ $dir = "0" ]; then
zenity --info --tittle="Launcher Config" --text="locate your server folder"
way="$(zenity --file-selection --directory)"
zenity --info --text="$way"
sed -i 's/^dir=.*/dir="'$way'"/' ls.sh
하지만 단말기를 반환 : 나는 UU에게
는'$ Sway' 단지 오타 아닌가요 시도? 다른 곳에서는'way'를 사용하고 있습니다 ... –
@RolandSmith 오타일 수도 있지만 오류 메시지의 원인 일 수는 없습니다. 오류 메시지는 세 번째'/'뒤에 문자가 있어야하며'sed '는 이해하지 못한다고 말합니다. 그리고'/'를 종료 한 후에는 문자가 없으므로, 대체 문자열에는'sed '로는 알 수없는 문자가 뒤따라야합니다. – ceving
모든 변수 참조를 큰 따옴표로 묶어야합니다. 예를 들어,'[$ dir = "null"]'은'$ dir'이 공백이거나 공백이나 와일드 카드를 포함하면 에러가납니다. 또한,'[$$ dir = ""]'나는'$$'이 쉘 프로세스의 PID로 확장된다는 사실을 배웠다. –