bash 4

따옴표와 별표가 있는 문자열로 저장된 bash 명령 실행 방법

따옴표와 별표가 있는 문자열로 저장된 bash 명령 실행 방법 이 질문에는 이미 다음과 같은 답이 있습니다. 셸이 변수를 통해 전달된 인수에서 문자를 인용하는 것을 무시하는 이유는 무엇입니까? (3개 답변) 마감됨6년 전에. 다음 명령을 실행하려고 합니다. mysql AMORE -u username -ppassword -h localhost -e "SELECT host FROM amoreconfig" 나는 그것을 끈으로 저장합니다: cmd="mysql AMORE -u username -ppassword -h localhost -e\"SELECT host FROM amoreconfig\"" 테스트: echo $cmd mysql AMORE -u username -ppassword -h localhost -e..

programing 2023.05.25

stdin 입력이 비어 있는 경우 xargs 명령을 무시하는 방법은 무엇입니까?

stdin 입력이 비어 있는 경우 xargs 명령을 무시하는 방법은 무엇입니까? 다음 명령을 고려합니다. ls /mydir/*.txt | xargs chown root 에 있는 모든 텍스트 입니다.mydir뿌리째 뽑힌 에 문는만없이 없다면 입니다..txt에 있는 :mydir그런 다음 xargs는 경로가 지정되지 않았다는 오류를 표시합니다.이것은 오류가 발생하고 있기 때문에 해롭지 않은 예이지만, 여기서 사용해야 하는 스크립트와 같은 경우에는 빈 경로가 현재 디렉터리로 가정됩니다.그래서 만약 내가 그 명령을 실행한다면,/home/tom/▁for,▁result면없에 대한 결과가 없다면,ls /mydir/*.txt 아의모파일에 있는 /home/tom/소유자를 루트로 변경합니다. 그럼 어떻게 하면 xargs가 ..

programing 2023.05.20

임시 디렉터리를 만들려면 어떻게 해야 합니까?

임시 디렉터리를 만들려면 어떻게 해야 합니까? 을(를) 만들곤 합니다.tempfile를 삭제하고 디렉토리로 다시 만듭니다. temp=`tempfile` rm -f $temp # mkdir $temp 문제는 까지 실행될 때, 같은 작업을 수행하려는 다른 프로그램이 있다는 것입니다. 같은 이름의 tempdir를 mkdir-ed하면 이 프로그램이 실패할 수 있습니다.를 사용합니다. 임의 이름으로 임시 디렉터리를 만들고 해당 파일이 이미 존재하지 않는지 확인합니다.그러나 디렉토리를 사용한 후에는 삭제해야 합니다.보다 강력한 솔루션을 위해 다음과 같은 방법을 사용합니다.이렇게 하면 스크립트가 종료된 후 temp dir가 항상 삭제됩니다. 정리 기능은 다음에서 실행됩니다.EXIT신호.이렇게 하면 스크립트가 중단되더..

programing 2023.04.25

bash에 임시 파일을 만드는 중입니다.

bash에 임시 파일을 만드는 중입니다. bash 스크립트에서 임시 파일을 생성하는 데 객관적으로 더 나은 방법이 있습니까? 스크립트가 끝나면 삭제되기 때문에 보통 tempfile-123과 같이 생각나는 대로 이름을 붙입니다.현재 폴더에 있을 수 있는 tempfile-123을 덮어쓰는 것 말고 다른 단점이 있나요?아니면 임시 파일을 좀 더 신중하게 만들 수 있는 장점이 있나요?그mktemp(1)man page가 잘 설명해 줍니다. 일반적으로 많은 셸 스크립트는 pid가 있는 프로그램 이름을 접미사로 사용하여 임시 파일 이름으로 사용합니다.이러한 명명 방식은 예측 가능하고 공격자가 쉽게 이길 수 있는 경쟁 조건입니다.여전히 열등하지만 더 안전한 방법은 동일한 이름 지정 체계를 사용하여 임시 디렉토리를 만드..

programing 2023.04.25