আপনি একটি র্যাপার কমান্ড ব্যবহার করতে পারেন যা:
- ফাইলটির নাম পরিবর্তন করে
- পটভূমিতে ভিউয়ার চালায়
- যখন দর্শক এটি
mutt
না করার পরিবর্তে ফিরে আসবে তখন পরিষ্কার হয়ে যায়।
কিছুটা এইরকম:
#! /bin/sh -
TMPDIR=$(
mutt -D 2> /dev/null |
awk -F\" '
$1 == "tmpdir=" {
gsub("~", ENVIRON["HOME"], $2)
print $2
exit
}'
)
[ -n "$TMPDIR" ] || exit
export TMPDIR
nargs=$#
nfiles=0
for i do
case $i in
("$TMPDIR"/?*)
new_file=$(mktemp -ut "XXXXX${i##*/}") &&
mv -- "$i" "$new_file" &&
nfiles=$(($nfiles + 1)) &&
set -- "$new_file" "$@" "$new_file" &&
continue
esac
set -- "$@" "$i"
done
run_command() (
shift "$(($nargs + $nfiles))"
exec "$@"
)
(
run_command "$@"
while [ "$nfiles" -gt 0 ]; do
set -- "$@" "$1"
shift
nfiles=$(($nfiles - 1))
done
shift "$((2*$nargs))"
rm -f -- "$@"
) &
এবং কিছু রাখুন:
image/*; muttv eog %s;
muttv
উপরের স্ক্রিপ্টটি কোথায় ।
উপরেরগুলি আর্গুমেন্টের তালিকায় ফাইলের নাম (গুলি) কোথায় উপস্থিত হবে সেগুলি নিয়ে কোন ধারণা নেই বা সেগুলিতে কী চরিত্র রয়েছে ... যার কারণে আমরা প্রথমে এটি কী mutt
তা জিজ্ঞাসা tmpdir
করি (তাই আমরা ফাইলগুলি কী তা নির্ধারণ করতে এটি ব্যবহার করি) দেখুন )।
বেশিরভাগ ক্ষেত্রে, এটি অত্যধিক ক্ষতিকারক হবে এবং গিলস পয়েন্ট আউট হিসাবে কাজ করবে না যদি tmpdir আপনার মেলবক্স ফোল্ডারের সাথে সম্পর্কিত হিসাবে নির্দিষ্ট করা থাকে।
আরও সহজ একটি হ'ল:
#! /bin/sh -
nargs=$#
eval "file=\${$nargs}"
newfile=$(dirname -- "$file")/new-$(basename -- "$file")
while [ "$nargs" -gt 1 ]; do
set -- "$@" "$1"
shift
nargs=$(($nargs - 1))
done
shift
mv -- "$file" "$newfile" || exit
(
"$@" "$newfile"
rm -f -- "$newfile"
) &
প্রতিস্থাপন mv
সঙ্গে cp
যদি আপনার প্রদত্ত মূল ফাইল স্পর্শ করতে চাই না mutt
।