一个bash脚本重复相同的脚本动作,一遍又一遍地按下终端中的返回键,直到我按q键
问题描述:
我想让这个脚本重复somescript.sh,当我点击返回,直到我写q。我想我已经非常接近了,但是如果它读“q”,我不能让$ actionLoop设置为0,我在这里做错了什么?一个bash脚本重复相同的脚本动作,一遍又一遍地按下终端中的返回键,直到我按q键
#!/bin/bash
$actionLoop = 1
while [ ${actionLoop} 1 ]
do
echo "do another random review script?"
sh /somescript.sh
echo "Done. Press q to quit."
read response
[ $response = "q" ] && $actionLoop = 0
done
答
变化
$actionLoop = 1
到
actionLoop=1
同样,这条线
[ $response = "q" ] && $actionLoop = 0
到
[ $response = "q" ] && actionLoop=0
分配变量时不能使用$
,并且您也不能在任务周围留出空格。
IMO,你根本不需要这个变量。当给出q
时,使用无限循环并分解它。
while : ;
do
echo "do another random review script?"
sh /somescript.sh
echo "Done. Press q to quit."
read response
[[ "$response" = "q" ]] && break
done
我个人比较喜欢的bash内置[[
]]
而不是[
(测试)命令。有些人更喜欢[
以与旧壳体兼容。
变量声明/赋值不能以$开头,并且在= – DRC 2014-11-24 23:36:21