swift 스 크 립 트

2676 단어
swift 스 크 립 트 는. sh 형식 이 든. swift 형식 이 든 #!/usr/bin/env swift 으로 시작 하여 스 크 립 트 의 해석 프로그램 을 지정 해 야 합 니 다.물론 스 크 립 트 를 실행 할 때 해석 기 를 지정 하면 머리 에 해당 하 는 해석 기 를 추가 하지 않 아 도 됩 니 다.(env 지정 해석 기 사용)
셸 내장 swift
swift 의 강력 한 기능 과 유연성 으로 인해 셸 스 크 립 트 에서 swift 코드 를 직접 실행 할 수 있 습 니 다. 혼합 쓰 려 면 머리 에 swift 해석 기 를 추가 하 십시오.
test. sh 파일 을 만 들 고 아래 코드 를 입력 하 십시오. 이 test. sh 파일 은 일반적인 sh 스 크 립 트 처럼 실 행 될 수 있 습 니 다.
#!/usr/bin/env swift
import Foundation

var status :Int = 0
status = 10
print("Status = \(status)")

실행 ./test.sh, 출력 결 과 는 Status = 10 입 니 다.
스 크 립 트 에 더 많은 swift 기능 을 추가 하여 스 크 립 트 의 기능 을 강화 할 수 있 습 니 다. import swift 의 다른 라 이브 러 리 를 도입 할 수도 있 습 니 다.
#!/usr/bin/env swift
import Darwin

var status = arc4random_uniform(10)
print("Status = \(status)")

Swift 호출 셸
swift 호출 셸 명령 은 이렇게 간결 하지 않 습 니 다. swift 는 고급 언어 이기 때문에 셸 명령 을 호출 하려 면 대상 의 방식 으로 이 루어 져 야 합 니 다.
#!/usr/bin/env swift

import Foundation
class Execution{
    class func execute(path:String,arguments:[String]? = nil) -> Int {
        let task = Process();
        task.launchPath = path
        if arguments != nil {
           task.arguments = arguments!
        }
        task.launch()
        task.waitUntilExit()
        return Int(task.terminationStatus)
    }
}

var status :Int = 0
status = Execution.execute(path: "/bin/ls")
print("Status = \(status)")

//status = Execution.execute(path: "/bin/ls",arguments:["/"])
//print("Status = \(status)")

  • 당신 은 직접 Process 대상 을 사용 하여 셸 명령 을 호출 할 수 있 습 니 다. 저 는 여기 서 약간의 포장 을 했 습 니 다.

  • 코드 좀 설명해 주세요.
  • 프로 세 스 대상 (swift 대상 일 뿐 프로 세 스 가 생 성 되 지 않 았 습 니 다) 을 Process 으로 초기 화 합 니 다. launchPath 프로 세 스 의 로드 경 로 를 설정 하고 arguments 프로 세 스에 전달 할 인 자 를 설정 할 수 있 습 니 다.
  • 초기 설정 이 완료 되면 호출 launch 방법 으로 프로 세 스 를 시작 합 니 다. waitUntilExit 현재 swift 스 크 립 트 프로 세 스 를 막 고 우리 가 만 든 프로 세 스 의 작업 이 끝 날 때 까지 기 다 렸 다가 아래로 실행 합 니 다.
  • 마지막 으로 터미널 에서 이 swift 파일 swift ~/Desktop/test.swift 을 실 행 했 습 니 다. 출력 결 과 는 터미널 현재 디 렉 터 리 에 있 는 모든 파일 ls 명령 과 Status = 0 문자열 을 실 행 했 기 때 문 입 니 다. 그 중에서 0 은 실행 에 성 공 했 음 을 나타 냅 니 다.

  • 주의:
  • swift 스 크 립 트 를 실행 하려 면 swift 명령 을 사용 해 야 합 니 다. swift ~/Desktop/test.swift 예제 처럼 머리 에 해석 기 를 지정 하면 swift 명령 을 사용 하지 않 고: ~/Desktop/test.swift 를 사용 하여 실행 할 수 있 습 니 다.
  • 잘못 보고 하면 실행 권한 이 없습니다. 실행: chmod +x ~/Desktop/test.swift 실행 권한 을 추가 합 니 다.
  • 좋은 웹페이지 즐겨찾기