通过打开 gnome 终端执行脚本后无法打印用户输入
Unable to print user input after executing the script by opening the gnome-terminal
我正在尝试制作在双击时在终端上执行的脚本,并且应该要求用户输入。要执行脚本,请打开 gnome 终端,它将执行进一步的脚本。在 RESP 中接受用户输入后,它无法打印传递的值 (y/n)。带有 nautilus 的 Gnome 终端。
gnome-terminal -- bash -c "read -p 'Include log?(y/n)' RESP
echo '$RESP'
if[ '$RESP' = 'y' ]; then
//logic for yes
else
//logic for no
fi;
exec bash"
echo $RESP
没有打印任何东西?
脚本字符串中的 "
使变量为空(未定义的变量扩展为空)。它使回声为空。我用 '
交换了 "
,它工作正常。
gnome-terminal -- bash -c 'read -p "Include log?(y/n)" RESP
echo "$RESP"; sleep 10
if[ "$RESP" = "y" ]; then
echo YES
else
echo NO
fi;
exec bash'
试试这个
bash -c "read -p 'Include log?(y/n)' RESP
echo $RESP
if [ $RESP = 'y' ]; then
echo y
else
echo n
fi"
您需要对变量的 $ 进行转义,而不是将其放入 '
我正在尝试制作在双击时在终端上执行的脚本,并且应该要求用户输入。要执行脚本,请打开 gnome 终端,它将执行进一步的脚本。在 RESP 中接受用户输入后,它无法打印传递的值 (y/n)。带有 nautilus 的 Gnome 终端。
gnome-terminal -- bash -c "read -p 'Include log?(y/n)' RESP
echo '$RESP'
if[ '$RESP' = 'y' ]; then
//logic for yes
else
//logic for no
fi;
exec bash"
echo $RESP
没有打印任何东西?
脚本字符串中的 "
使变量为空(未定义的变量扩展为空)。它使回声为空。我用 '
交换了 "
,它工作正常。
gnome-terminal -- bash -c 'read -p "Include log?(y/n)" RESP
echo "$RESP"; sleep 10
if[ "$RESP" = "y" ]; then
echo YES
else
echo NO
fi;
exec bash'
试试这个
bash -c "read -p 'Include log?(y/n)' RESP
echo $RESP
if [ $RESP = 'y' ]; then
echo y
else
echo n
fi"
您需要对变量的 $ 进行转义,而不是将其放入 '