Bash 将简单字符串与shell连接出错?
我试图连接字符串,然后执行生成的字符串,但它不能正常工作,下面是代码:Bash 将简单字符串与shell连接出错?,bash,shell,grep,ls,Bash,Shell,Grep,Ls,我试图连接字符串,然后执行生成的字符串,但它不能正常工作,下面是代码: #!/bin/bash c="ls -alis" c="$c | grep me" echo $c $c 它打印ls-alis | grep me,但不打印包含字符串“me”的任何文件,它会给我以下错误: ls: |: No such file or directory ls: grep: No such file or directory ls: u1920477: No such
#!/bin/bash
c="ls -alis"
c="$c | grep me"
echo $c
$c
它打印ls-alis | grep me
,但不打印包含字符串“me”的任何文件,它会给我以下错误:
ls: |: No such file or directory
ls: grep: No such file or directory
ls: u1920477: No such file or directory
但是,如果我直接向终端键入
ls-alis | grep me
,它会显示它应该显示的文件。为什么会发生这种情况?我想您应该在这里执行评估$c
。但是我建议您避免用这样的字符串生成命令——如果您能找到更好的方法,它可能更容易理解,也更安全。我想您应该在这里执行eval$c
。但是我建议您避免用这样的字符串生成命令——如果您能找到更好的方法,它可能更容易理解,也更安全。我想您应该在这里执行eval$c
。但是我建议您避免用这样的字符串生成命令——如果您能找到更好的方法,它可能更容易理解,也更安全。我想您应该在这里执行eval$c
。但我建议您避免用这样的字符串生成命令——如果您能找到更好的方法,它可能更容易理解,也更安全;shell函数保存代码
c () {
ls -alis | grep me
}
字符串保存数据;shell函数保存代码
c () {
ls -alis | grep me
}
字符串保存数据;shell函数保存代码
c () {
ls -alis | grep me
}
字符串保存数据;shell函数保存代码
c () {
ls -alis | grep me
}
同样,您需要
$()
来执行该命令。所以我猜你是在寻找c=$($c|grep“me”)
。你是对的,成功了!但是,如果我尝试用sort-k1
而不是grep来完成它,它不会。我需要做哪些不同的操作?例如,您需要$()
来执行该命令。所以我猜你是在寻找c=$($c|grep“me”)
。你是对的,成功了!但是,如果我尝试用sort-k1
而不是grep来完成它,它不会。我需要做哪些不同的操作?例如,您需要$()
来执行该命令。所以我猜你是在寻找c=$($c|grep“me”)
。你是对的,成功了!但是,如果我尝试用sort-k1
而不是grep来完成它,它不会。我需要做哪些不同的操作?例如,您需要$()
来执行该命令。所以我猜你是在寻找c=$($c|grep“me”)
。你是对的,成功了!但是,如果我尝试用sort-k1
而不是grep来完成它,它不会。我需要做什么不同的事情?