সিস্টেমের তথ্য
ওএস: ওএস এক্স
ব্যাশ: জিএনইউ ব্যাশ, সংস্করণ 3.2.57 (1) -রিলেজ (x86_64-আপেল-ডারউইন 16)
পটভূমি
আমার সমস্ত গিট / নোডেজ প্রকল্প থেকে ডিরেক্টরি এবং ফাইলগুলির একটি সেট বাদ দেওয়ার জন্য আমি টাইম মেশিনটি চাই। আমার প্রকল্পের ডিরেক্টরিগুলি রয়েছে ~/code/private/
এবং ~/code/public/
তাই আমি এটি করার জন্য ব্যাশ লুপিং ব্যবহার করার চেষ্টা করছি tmutil
।
সমস্যা
সংক্ষিপ্ত সংস্করণ
আমার যদি একটি গণনাযুক্ত স্ট্রিং ভেরিয়েবল k
থাকে তবে আমি কীভাবে এটি লুপের আগে বা ডানদিকে গ্লোব করব?
i='~/code/public/*'
j='*.launch'
k=$i/$j # $k='~/code/public/*/*.launch'
for i in $k # I need $k to glob here
do
echo $i
done
নীচের দীর্ঘ সংস্করণে, আপনি দেখতে পাবেন k=$i/$j
। সুতরাং আমি লুপের জন্য স্ট্রিংটিকে হার্ডকোড করতে পারি না।
দীর্ঘ সংস্করণ
#!/bin/bash
exclude='
*.launch
.classpath
.sass-cache
Thumbs.db
bower_components
build
connect.lock
coverage
dist
e2e/*.js
e2e/*.map
libpeerconnection.log
node_modules
npm-debug.log
testem.log
tmp
typings
'
dirs='
~/code/private/*
~/code/public/*
'
for i in $dirs
do
for j in $exclude
do
k=$i/$j # It is correct up to this line
for l in $k # I need it glob here
do
echo $l
# Command I want to execute
# tmutil addexclusion $l
done
done
done
আউটপুট
তারা গ্লোববেড হয় না। আমি যা চাই তা নয়
~/code/private/*/*.launch
~/code/private/*/.DS_Store
~/code/private/*/.classpath
~/code/private/*/.sass-cache
~/code/private/*/.settings
~/code/private/*/Thumbs.db
~/code/private/*/bower_components
~/code/private/*/build
~/code/private/*/connect.lock
~/code/private/*/coverage
~/code/private/*/dist
~/code/private/*/e2e/*.js
~/code/private/*/e2e/*.map
~/code/private/*/libpeerconnection.log
~/code/private/*/node_modules
~/code/private/*/npm-debug.log
~/code/private/*/testem.log
~/code/private/*/tmp
~/code/private/*/typings
~/code/public/*/*.launch
~/code/public/*/.DS_Store
~/code/public/*/.classpath
~/code/public/*/.sass-cache
~/code/public/*/.settings
~/code/public/*/Thumbs.db
~/code/public/*/bower_components
~/code/public/*/build
~/code/public/*/connect.lock
~/code/public/*/coverage
~/code/public/*/dist
~/code/public/*/e2e/*.js
~/code/public/*/e2e/*.map
~/code/public/*/libpeerconnection.log
~/code/public/*/node_modules
~/code/public/*/npm-debug.log
~/code/public/*/testem.log
~/code/public/*/tmp
~/code/public/*/typings
k
একটি গণনাযুক্ত স্ট্রিং, এবং আমার এটি লুপ অবধি রাখা উচিত। আমার দীর্ঘ সংস্করণ পরীক্ষা করুন।