如果我将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
我有一个用java编写的程序,它使用第0个参数作为文件位置,如下所示
File f = new File(args[0]);
因此,当我使用windows批处理(.bat)文件执行它时,它可以正常工作。但是,当我在linux中使用linux shell文件(.sh)执行相同的命令时,我得到的是ArrayIndexOutOfBoundsException。
WINDOWS批处理文件:
@echo off
for /f %%i in ("%0") do set scriptpath=%%~dpi
set cp=%scriptpath%/../lib/*.jar;
java -cla
我们有android + linux /c,我们登录到linux并在android中引导机器。现在我们有了通过linux在同一台机器上运行的一些脚本。在这种情况下,当脚本挂起时,我们需要重新启动android机器。但是它也会导致重新启动linux机器。因为他们在同一台机器上。因此,我需要重新启动android的方式,这样它就脱离了挂起状态,并且在运行在linux中的脚本上保留了控制权。
那么,有什么亚行或linux命令对我有用吗?
下面的代码将导致'if‘语句提前退出,而不是在'if’块中执行'echo‘命令。我想知道为什么这只发生在'if‘块,而不是在脚本的主要部分。注意:我理解将':=‘改为’:‘将解决问题--我并不想修复这个问题,我希望了解'if’块的执行环境之间的区别,它首先导致了问题的发生。
#!/bin/bash
if true; then
VAR=${$1:='val'}
echo "This does not run"
fi
VAR=${$1:='val'}
echo
~$ bash --version
GNU bash, version 5.1.12(1)-release (x86_64-pc-linux-gnu)
~$ alias bab=python
~$ $(echo bab)
bash: bab: command not found
我希望bab会变成"python",但看起来并非如此。
~$ $(echo alias)
alias bab='python'
alias ls='ls --color=auto'
~$ bab
Python 3.10.1 (main, Dec 11 2021, 17:2
我已经在Linux Mint 11上通过RVM安装了Ruby。它似乎安装得很好:当我输入rvm | head -1时,我得到的结果是"rvm is a function“。输入ruby -v会得到1.9.2p290。我可以从bash终端窗口运行ruby脚本。然而,当我尝试从gvim (我有一个映射到"ruby“的快捷方式)或geany或gedit (同上)运行相同的脚本时,我得到"ruby: command not found”(在gvim中)或"ruby: not found“(在geany或gedit中)。
这里有更多信息:“哪个ruby”给了我:$HOME
在Linux中,是否有同样的方法将变量保存到终端上的文件中?例如,我在matlab中
seg=sampleframe(:,1) # this a 20 sn segment from an audio file
seg_file=fullfile(destination_dir,'000000001.mat') # this is a filename i created
save(seg_file,'seg')
在linux中,可以通过命令atom来运行atom编辑器吗?我试过了
atom
Command 'atom' is available in '/snap/bin/atom'
The command could not be located because '/snap/bin' is not included in the PATH environment variable.
atom: command not found