मैं किसी विशिष्ट फ़ोल्डर में आउटपुट के लिए इस बैश स्क्रिप्ट को कैसे संशोधित कर सकता हूं?


0

मैं एक स्क्रिप्ट को संशोधित कर रहा हूं, जो एक फ़ोल्डर में सभी फ़ाइलों को एन्क्रिप्ट करती है। जैसा कि वर्तमान में यह खड़ा है कि यह संशोधित फ़ाइलों को उसी फ़ोल्डर में आउटपुट करता है जिसमें इनपुट फाइलें हैं। हालाँकि मैं एक और निर्देशिका में आउटपुट करना चाहूंगा जिसे मैं स्क्रिप्ट में परिभाषित करता हूं। मैंने स्क्रिप्ट में आउटपुट मापदंडों को बदलने की कोशिश की है, लेकिन मुझे अभी तक सटीक वाक्यविन्यास नहीं मिला है। यहां कोई भी बैश उपयोगकर्ता जानता है कि सिंटैक्स क्या होना चाहिए?

VESA

#!/bin/bash

# This uses gpg to encrypt every file in a directory as separate
# encrypted files

# Usage
# ./encrypt-all.sh ./dir-of-files-to-encrypt "PASSPHRASE"

FILES="$1"
PASSPHRASE="$2"

pushd $FILES

for file_name in ./*; do
enc_name="$file_name.enc"

echo "Encrypting $file_name"

gpg \
--passphrase "$PASSPHRASE" \
--batch \
--output "$file_name.enc" \
--symmetric \
--cipher-algo AES256 \
"$file_name"

echo "Done! Output: $enc_name"
done

popd

इसे बदलो: --output "$file_name.enc" ` to this: --output "/ path/to/send/output/to/$file_name.enc" `
JakeGould

जवाबों:


1
FILES="$1"
PASSPHRASE="$2"
OUTPUTPATH="/path/to/output/directory"

pushd $FILES

for file_name in ./*; do
    enc_name="$file_name.enc"

    echo "Encrypting $file_name"

    gpg \
    --passphrase "$PASSPHRASE" \
    --batch \
    --output "$OUTPUTPATH/$file_name.enc" \
    --symmetric \
    --cipher-algo AES256 \
    "$file_name"

    echo "Done! Output: $enc_name"
done

popd

ध्यान दें कि यदि OUTPUTPATH को एक रिश्तेदार पथ के रूप में निर्दिष्ट किया जाता है (अर्थात "/" से शुरू नहीं होता है), इसे के सापेक्ष माना जाएगा FILES निर्देशिका; यह वांछनीय हो सकता है या नहीं। इसके अलावा, मैं संदर्भ को दोहरे-उद्धृत करने की सलाह दूंगा $FILES, यदि इसमें व्हाट्सएप या वाइल्डकार्ड अक्षर हैं (जो यूनिक्स फाइलनाम में कानूनी हैं)।
Gordon Davisson
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.