Использование \ c в сценариях оболочки

Это код для быстрого 4 работает отлично, чтобы объединить видео в лучшей ориентации

    let mainComposition = AVMutableComposition()

    let compositionVideoTrack = mainComposition.addMutableTrack(withMediaType: .video, preferredTrackID: kCMPersistentTrackID_Invalid)



    let soundtrackTrack = mainComposition.addMutableTrack(withMediaType: .audio, preferredTrackID: kCMPersistentTrackID_Invalid)

    var insertTime = kCMTimeZero



    for videoAsset in arrayVideos {
        try! compositionVideoTrack?.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), of: videoAsset.tracks(withMediaType: .video)[0], at: insertTime)


        var assetVideoTrack = (videoAsset.tracks(withMediaType: AVMediaType.video)).last as! AVAssetTrack


        var compositionVideoTrack = (mainComposition.tracks(withMediaType: AVMediaType.video)).last as! AVMutableCompositionTrack


            compositionVideoTrack.preferredTransform = assetVideoTrack.preferredTransform




        try! soundtrackTrack?.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), of: videoAsset.tracks(withMediaType: .audio)[0], at: insertTime)

        insertTime = CMTimeAdd(insertTime, videoAsset.duration)

    }

    let outputFileURL = URL(fileURLWithPath: NSTemporaryDirectory() + "merge1uupo.MOV")

    let fileManager = FileManager()
    //fileManager.removeItemIfExisted(outputFileURL)



    let exporter = AVAssetExportSession(asset: mainComposition, presetName: AVAssetExportPresetHighestQuality)

    exporter?.outputURL = outputFileURL
    exporter?.outputFileType = AVFileType.mov
    exporter?.shouldOptimizeForNetworkUse = true

    exporter?.exportAsynchronously {
        DispatchQueue.main.async {

        // Do what you want at the end    


        }
    }
13
задан rth 25 April 2015 в 17:34
поделиться

3 ответа

\ c сохраняет курсор в той же строке после окончания эха, но чтобы включить его, вам нужен флаг -e:

echo -e "bla bla \c"
26
ответ дан 1 December 2019 в 19:02
поделиться

Я думаю, что попытка состоит в том, чтобы завершить эхо без новой строки.

Если это не работает в вашей системе, вы можете заменить таким образом,

echo "test \c"; echo " same line"

может стать,

echo -n "test"; echo " same line"

Более легкое изменение будет (как предлагается автор Нил , +1 там),

echo -e "test \c"; echo " same line"
10
ответ дан 1 December 2019 в 19:02
поделиться

Без автоматического разрыва строки, очевидно :

Использование в оболочках UNIX

Оболочки UNIX Korn используют escape-символ \ c для обозначения продолжения (без автоматического разрыва строки):

echo " Введите путь к файлу данных: \ c "

1
ответ дан 1 December 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: