全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1007|回复: 12
打印 上一主题 下一主题

shell文件存取命令求助

[复制链接]
跳转到指定楼层
1#
发表于 2022-11-5 09:42:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

要实现的功能比较简单,onoff.txt里面的值是1,运行一次onoffchange.sh,onoff.txt里面的值变成0,再运行一次,变成1

onoffchange.sh

#!/bin/bash
value=$(cat onoff.txt)
echo !$value > onoff.txt
if $value ==1
echo "it's on"
fi

上面估计漏洞很多,哪位大佬可以帮忙修正一下,万分感谢!
推荐
发表于 2022-11-5 13:04:25 | 只看该作者
我要大房子 发表于 2022-11-5 12:27
#!/bin/bash
[[ ! -f onoff.txt ]] && echo 0 >onoff.txt
value=$(cat onoff.txt)

这。。。
  1. root@thzhk:/tmp# cat x.sh
  2. [[ ! -f x ]] && echo 0 >x
  3. value=$(cat x)
  4. echo "0^$value"|bc >x
  5. root@thzhk:/tmp# ./x.sh ;cat x
  6. 1
  7. root@thzhk:/tmp# ./x.sh ;cat x
  8. 0
  9. root@thzhk:/tmp# ./x.sh ;cat x
  10. 1
  11. root@thzhk:/tmp# ./x.sh ;cat x
  12. 0
  13. root@thzhk:/tmp# ./x.sh ;cat x
  14. 1
  15. root@thzhk:/tmp# ./x.sh ;cat x
  16. 0
  17. root@thzhk:/tmp# ./x.sh ;cat x
  18. 1
  19. root@thzhk:/tmp# ./x.sh ;cat x
  20. 0
  21. root@thzhk:/tmp# ./x.sh ;cat x
  22. 1
  23. root@thzhk:/tmp# ./x.sh ;cat x
  24. 0
  25. root@thzhk:/tmp# ./x.sh ;cat x
  26. 1
  27. root@thzhk:/tmp# ./x.sh ;cat x
  28. 0
复制代码
2#
发表于 2022-11-5 10:41:19 来自手机 | 只看该作者
把文件路径都写全了,
4#
发表于 2022-11-5 11:34:20 | 只看该作者
这,,,,方式很多吧。。。。随便来一个试一试?
PS: 没验证过,楼主感兴趣就自己复制粘贴试一试,有问题的话就当作一个思路,没问题的话也可以按照喜欢自己改善。
  1. [[ ! -f x ]] && echo 0 >x
  2. value=$(cat x)
  3. echo "0^$value"|bc >x
复制代码
5#
发表于 2022-11-5 11:46:30 来自手机 | 只看该作者
本帖最后由 zdszf 于 2022-11-5 11:48 编辑

if [[ “$(cat txt | grep -oE “0”)” == “0” ]]; then echo 1>txt;else echo 0>txt;fi
6#
 楼主| 发表于 2022-11-5 12:27:38 | 只看该作者
hchen 发表于 2022-11-5 11:34
这,,,,方式很多吧。。。。随便来一个试一试?
PS: 没验证过,楼主感兴趣就自己复制粘贴试一试,有问题 ...

#!/bin/bash
[[ ! -f onoff.txt ]] && echo 0 >onoff.txt
value=$(cat onoff.txt)
echo "0^$value"|bc >onoff.txt

结果是:
(standard_in) 1: illegal character: ^M
(standard_in) 2: syntax error
7#
 楼主| 发表于 2022-11-5 12:42:18 | 只看该作者
zdszf 发表于 2022-11-5 11:46
if [[ “$(cat txt | grep -oE “0”)” == “0” ]]; then echo 1>txt;else echo 0>txt;fi

#!/bin/bash
if [[ "$(cat onoff.txt | grep -oE "0")" == "0" ]]
        then echo 1>onoff.txt
        else echo 0>onoff.txt
        fi

/root/admin.sh: line 2: syntax error in conditional expression
'root/admin.sh: line 2: syntax error near `]]
'root/admin.sh: line 2: `if [[ "$(cat onoff.txt | grep -oE "0")" == "0" ]]
9#
发表于 2022-11-5 13:09:10 | 只看该作者
请5K哥出手 @@ecs
10#
发表于 2022-11-5 13:24:17 | 只看该作者
  1. #!/bin/bash

  2. FILE="test.txt"

  3. NUM=$(cat "$FILE")
  4. NUM=$(((NUM + 1) % 2))
  5. echo "$NUM" > "$FILE"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-6-28 04:27 , Processed in 0.072577 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表