在linux系统上,当您在像rm * -rf这样的shell中输入命令时,*和-rf的顺序并不重要。我的外壳也是这样解释的。现在,在我的Mac上,当我输入rm -rf *时,一切正常,但是如果我做了rm * -rf,就会出现一个错误rm: -rf: No such file or directory
我在macOS和linux上使用了鱼和bash。同样的问题。
有人知道为什么macOS上的命令解释器认为命令末尾的-rf不被解释为命令的参数吗?
我正在尝试安装一个addon的扩展( Ubuntu中FZF的Forgit是特定的)。
但是,在安装过程中,有这样一行:
# manually
# Clone the repository and source it in your shell's rc file.
在Linux终端命令和Linux生态系统方面,我是个菜鸟。以上所说的是什么意思?如果想了解更多关于这一点,哪里是一个好的起点?
编辑:我目前正在窗口终端(WSL2)内工作,并使用.bashrc作为我的RC文件。具体的回购计划是: github.com/wfxr/forgit
谢谢,
我们有android + linux /c,我们登录到linux并在android中引导机器。现在我们有了通过linux在同一台机器上运行的一些脚本。在这种情况下,当脚本挂起时,我们需要重新启动android机器。但是它也会导致重新启动linux机器。因为他们在同一台机器上。因此,我需要重新启动android的方式,这样它就脱离了挂起状态,并且在运行在linux中的脚本上保留了控制权。
那么,有什么亚行或linux命令对我有用吗?
如果我将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
下面的代码将导致'if‘语句提前退出,而不是在'if’块中执行'echo‘命令。我想知道为什么这只发生在'if‘块,而不是在脚本的主要部分。注意:我理解将':=‘改为’:‘将解决问题--我并不想修复这个问题,我希望了解'if’块的执行环境之间的区别,它首先导致了问题的发生。
#!/bin/bash
if true; then
VAR=${$1:='val'}
echo "This does not run"
fi
VAR=${$1:='val'}
echo