olarak ayarlanmayı engelliyorsa, G/Ç'deki çeşitli yapılara ("if" ve "while" gibi) giriş ve çıkışları yönlendirebileceğinizi okudum. Bunu denediğimde, bir "|" kullanarak farkettim. eğer bir yapının sonunda, eğer yapının ifşa edilmesinden sonra üzerine yazdığım herhangi bir değişkeni önledi; ama bunun yerine ">" kullanırsam, o zaman değişken modifikasyonlar geçerli olur. Ben eğer yapıdan stdout'u yönlendirme ediyorum nasıl tek fark'|' kullanma Bash'in yapılandırması, değişken
VAR_0: Unmodified
VAR_1: Changed
Not: 64 bit Linux üzerinde Bash sürümü 4.3.11 Running
#!/bin/bash
VAR_0='Unmodified'
if true
then
VAR_0='Changed'
fi | cat
echo "VAR_0: $VAR_0"
###########
VAR_1='Unmodified'
if true
then
VAR_1='Changed'
fi > tmpFile
rm tmpFile
echo "VAR_1: $VAR_1"
şu çıktıyı üretir. "|" Neden VAR_0'ın değiştirilmesinin engellenmesi?