簡體   English   中英

在Linux bash中模擬ENTER鍵並一起導出另一個變量

[英]Simulating ENTER key and export another variable together in Linux bash

我應該將ENTER鍵值作為shell輸入,以避免shell等待用戶輸入。

echo 'enter'
read FRUIT

case "$FRUIT" in
   "apple") echo "Apple pie is quite tasty." 
   ;;
   "banana") echo "I like banana nut bread." 
   ;;
   "kiwi") echo "New Zealand is famous for kiwi." 
   ;;
esac

export TEST6=TEST

我了解到“ echo”隱式具有ENTER值,因此嘗試在命令下運行以實現我的要求。

echo | source ~/.bash_profile

如我所料,我可以看到操作系統提示,而不是看到Shell等待用戶輸入。 但是,我注意到導出TEST6變量的最后一行沒有導出。 我的意思是我找不到變量TEST6的值。

你能讓我知道我在想什么嗎?

該值將在管道運行的子外殼中導出。 請改用輸入重定向。

source ~/.bash_profile <<< ""

可以使用任何字符串,因為您似乎並不關心所使用的實際值,但是空字符串等效於不帶參數的echo產生的內容。 (此處所有字符串隱式以換行符結尾。)

如果您的外殼不支持<<< ,則可以改用POSIX標准的here文檔。

. ~/some_file <<EOF
EOF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM