如果我将cat命令保存到字符串中,然后执行它,那么我将得到一个错误。
linux# cmd="cat /data/test/test.tx* | grep toto"
linux# eval '$cmd'
cat: |: No such file or directory
cat: grep: No such file or directory
cat: toto: No such file or directory
即使是
linux# $cmd
cat: |: No such file or directory
cat: grep: No such file
我需要测试一系列应用程序是否安装在基于linux/unix的主机和windows主机上。因此,很明显,在unix/linux中,只需对主机执行ssh命令并运行$ which $cmd即可:
def valid_util?(cmd, user, host, pass)
begin
result = nil
Timeout::timeout(10) do
Net::SSH.start( host.to_s, user.to_s, :password => pass.to_s) do |ssh|
r
当命令被指定为CMD a b c时,一切都按预期的方式工作,同时使用CMD ["a", "b", "c"]指定相同的命令--它会产生意想不到的结果。我想在码头里运行朱庇特(ipython)。我的CMD命令是启动它。似乎不管我怎么说--木星开始了。但是,只有当我将它指定为CMD a b c时,jupyter才能正常工作,并且可以启动内核。在本例中,“Notebook”命令工作
FROM debian:stable
RUN apt-get update && apt-get install -y wget bzip2
我的TCL脚本使用TCL变量组合了一个对命令行工具的调用。我尝试过在命令行中使用exec或eval,但都不起作用。
#!/usr/bin/tclsh
set dbg 0
set iso 100
set cmd "gphoto2 --set-config-value /main/imgsettings/iso=${iso}"
if {$dbg} {puts $cmd} else {eval $cmd}
提供:
invalid command name "gphoto2"
while executing
"gphoto2 --set-config-value