运行命令/bin/sh -c ls,我看到:
> /bin/sh -c ls
20190816_212056.png Opera_65.0.3467.78_Setup.exe
20190816_212219.png Opera_66.0.3515.27_Setup.exe
20190816_212344.png opera-stable_60.0.3255.95_amd64.rpm
20191112_134658.jpg opera-stable_62.0.3331.99_amd64.rpm
20200201_175524.jpg opera-stable_63.0.3368.107_amd64.rpm
20200201_175602.jpg opera-stable_65.0.3467.48_amd64.rpm当我运行/bin/sh -c ls -lh时,我看到与/bin/sh -c ls完全相同的输出。根本不考虑-lh选项。为什么会这样呢?我是不是遗漏了什么?
/bin/sh是指向bash的符号链接:
> ls -lh /bin/sh
lrwxrwxrwx 1 root root 4 Sep 20 2019 /bin/sh -> bash发布于 2021-04-30 06:58:18
如果您想要运行包含空格的命令,则需要在其周围添加"“。否则它只会执行ls
尝试运行/bin/sh -c "ls -lh"
https://unix.stackexchange.com/questions/647395
复制相似问题