나는 가장 사소한 작업으로 인해 악몽을 꿉니다.
sqlite3 my_db.db '.read my_file.sql'
작은 따옴표로 묶은 가변 값을 포함하는 bash 문자열을 작성하십시오.
여기에 두 어획량이 있습니다 :
내 최종 목표는 bash는 스크립트에서 다음 명령을 실행입니다
1 작은 따옴표 말, 의무, 그리고에 의해 대체 될 수 없다 , 큰 따옴표
2. my_file.sql
은 실행시에만 알려진 변수입니다.
그래서 내가 필요로하는 것은 bash가 가변 값을 포함하고 다른 한편으로는 값을 작은 따옴표로 묶어야하는 문자열을 작성하는 방법입니다.
AWK, Perl 등과 같은 추가 도구에 의존하지 않는 솔루션을 선호합니다. 그것이 정말로 필요한 경우에는 아마도 sed.
감사합니다.
감사합니다. Jonathan and Nelson.
세 가지 제안을 모두 시도했지만 모두 실패했습니다.
#!/bin/bash
file=/tmp/1
ls "'"$file"'"
ls \'$file\'
ls "'$file'"
:
- 내가 다음 스크립트 (tst.sh)를 썼다 : 단순 들어
나는 다음에 문제를 감소 그럼 나는 다음과 같은 명령을한다.'/tmp/1': No such file or directory
따옴표가 실제로 추가 된 것
'/tmp/1': No such file or directory
$ ./tst.sh
'/tmp/1': No such file or directory
/tmp/1
$ touch /tmp/1
$ ls '/tmp/1'
있지만 결과 명령을 수동으로 입력 할 때와 같은 아니었다.
아이디어가 있으십니까?
작은 따옴표를 사용해야하는 이유는 무엇입니까? 이것은 작은 따옴표 또는 두 개의 인수로 된 하나의 인수가되어야합니다. 하나는 작은 따옴표로 시작하고 다른 하나는 작은 따옴표로 끝납니다. –