我想在远程机器上运行我的 shell 脚本,我需要用户为一些变量赋值,为此我们在本地机器上运行脚本时使用 Read 命令,但我在远程机器上运行脚本时使用相同的命令,但它对我来说不起作用。如何使用 Read 命令在远程机器上运行脚本?
示例代码:
restore (){
echo "Restore"
}
deploy () {
echo "Deploy"
}
echo "Select any option to proceed..."
read opt
case $opt in
restore)
restore;
break;;
deploy)
deploy;
break;;
esac
当在本地机器上运行脚本时,此代码工作正常。
提前致谢 !
答案1
虽然这可能是可能的,但肯定不值得付出努力。无论如何,要求用户与脚本交互(在我看来)总是一个坏主意。这意味着您永远无法自动使用脚本,并且还会产生您所描述的问题。通常最好将用户的选择作为参数传递。您也不希望或不需要break
在case
语句中
restore (){
echo "Restore"
}
deploy () {
echo "Deploy"
}
## read the 1st argument
case $1 in
restore)
restore;
;;
deploy)
deploy;
;;
esac
然后,像这样运行脚本:
foo.sh restore
或者
foo.sh deploy