作者chabaterii09 (小豆子)
看板Linux
标题[问题] args特殊字元输入请益
时间Fri May 21 23:53:34 2021
各位板上大神们好
小弟最近遇到一个问题想求解
我希望能够透过指令(程式亦可)的方式将args写入另一份档案
但是遇到特殊字元时就失败了
目前有尝试过shell script 、 python 、 ansible with extra-var 都没有办法解决
请问有没有大大能提供想法呢?
状况范例
输入
command a 1 2 3 --show -h '' "" {} [] () <> \ / $ # @ | ! + - -- ``
希望能够在另一个档案内看到
a 1 2 3 --show -h '' "" {} [] () <> \ / $ # @ | ! + - -- ``
中间有个像是Il的是| <-- ps -ef | grep -v grep 中间那个|
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.169.131 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1621612419.A.5F4.html
1F:推 Bencrie: | 这个不在 args 里啊,你找不到的05/22 00:09
2F:→ Bencrie: 你真的要跟 shell 命令长一样的话就多一层 sh05/22 00:10
3F:→ Bencrie: sh -c "command a 1 2 3 ..." 然後抓 sh 的 argv[2]05/22 00:12
4F:→ Bencrie: 然後你那些特殊字元有做 escape 吗?05/22 00:13
没有跳脱
後面的args我会再去做另外的处理
考虑到执行的人不一定是我
我希望任何人在运用这个command时不会有感觉到跟其他时候有差异
使用情境是我有多台的远端主机(功能相近)
我会维护主机的管理清单
我藉由一个command让不同的人能够在这台管理中心对他想要的目标主机群下指令取得他
想要的资讯
所以我想做一个command达成这个目的
原本是想自己客制指令
这样就可以完成大部分的事
但是考量到客制的指令等於要求别人多记一套
所以最後选择让人只有一个command和指定主机群或是指定主机的可选选项
其余自由发挥
结果难度好高
※ 编辑: chabaterii09 (223.140.82.33 台湾), 05/22/2021 00:27:05
5F:推 Bencrie: 呃 ... 那就用 sh -c 'user 打的任何指令' 05/22 01:01
6F:推 bitlife: 或许先提示「请输入欲执行的命令列」,然後读入一行? 05/22 08:28
感谢各位大大
我最後找到一个偏方是
用nodejs的request.query.firstname在网页上把arg输入
看起来可以读到全部的特殊字元
剩下就靠加工了XD
感谢两位大大提供想法
我也多学了一些
奉上100p
※ 编辑: chabaterii09 (27.53.147.145 台湾), 05/22/2021 08:34:26
https://i.imgur.com/tU71fAf.jpg
https://i.imgur.com/gtXwijl.jpg
※ 编辑: chabaterii09 (27.53.147.145 台湾), 05/22/2021 08:40:20
7F:→ bitlife: 一行推文税後90P, 贪财贪财 XD 05/22 08:41
8F:→ antontw: 这个命题应该搞错很多东西 05/25 21:14