linux - unix shell while循环看不到变量

标签 linux shell unix

你知道为什么在这个命令中,$x 是可见的吗

ls -d */ $1 | while read x; do echo $x; done

返回当前目录下的子目录

但是,当我输入另一个命令时,$x 似乎没有任何值(value)

ls -d */ $1 | while read x; do ls -lat /order | grep $x; done

什么都不返回

最佳答案

在管道之前的输出末尾有一个/,你应该过滤它。

ls -d */ $1 | while read xx; do ls -l /order |grep `echo ${xx}|sed  's/.$//'`  ; done

关于linux - unix shell while循环看不到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35611968/

相关文章:

linux - Bash 中的交互式测验(多个问题)

linux - 云服务器centos上的cpanel shell脚本没有这样的文件或目录

bash - UNIX/shell 脚本中的字符串连接

linux - readlink -f 带空格

Linux x86 NASM - 子例程 : Print a dword from EAX

linux - 退出 shell 脚本时如何杀死所有子进程?

连接到 docker daemon 的 shell 脚本

bash - 如何在 Bash 中写入二进制数据

c - 在 linux 中保存 session 或进程状态

Linux/OSX/Windows - 等待进程结束