ඔබට HTTP තත්ව කේතය විචල්යයකින් ග්රහණය කර ගැනීමට අවශ්ය නම්, නමුත් අන්තර්ගතය STDOUT වෙත හරවා යැවීමට නම්, ඔබ STDOUT දෙකක් නිර්මාණය කළ යුතුය. ක්රියාවලි ආදේශනය> () සහ විධාන ආදේශනය with () සමඟ ඔබට එය කළ හැකිය .
පළමුව, 3
ඔබගේ වර්තමාන ක්රියාවලිය වන STDOUT සමඟ ගොනු විස්තරයක් සාදන්න exec 3>&1
.
ඉන්පසු, -o
විධාන ආදේශනය භාවිතා කරමින් ප්රතිචාර අන්තර්ගතය තාවකාලික ෆිෆෝ වෙත හරවා යැවීමට කර්ල්ගේ විකල්පය භාවිතා කරන්න, ඉන්පසු එම විධාන ආදේශනය තුළ ප්රතිදානය ඔබේ වර්තමාන ක්රියාවලියට හරවා යවන්න STDOUT ගොනු විස්තරය 3
සමඟ -o >(cat >&3)
.
ඒ සියල්ල එකට දැමීම bash
3.2.57(1)-release
(සම්මත සඳහා macOS
):
# creates a new file descriptor 3 that redirects to 1 (STDOUT)
exec 3>&1
# Run curl in a separate command, capturing output of -w "%{http_code}" into HTTP_STATUS
# and sending the content to this command's STDOUT with -o >(cat >&3)
HTTP_STATUS=$(curl -w "%{http_code}" -o >(cat >&3) 'http://example.com')
මෙම වැඩ නොකරන සටහන /bin/sh
ලෙස SamK පහත අදහස් සඳහන් .