例如:
$ ls -aF
./ ../ bin/
$ cd tin # with a tee, not bee
bin
$ pwd
/home/user/bin
换句话说,cd猜测我真正的意思是cd bin,并且成功了(嗯?)相应地更改当前目录。我没有在man bash或巴什参考手册中发现这种行为。
我希望Bash生成一个错误,将一些信息写入标准错误,如果没有找到与dir参数匹配的目录(考虑到扩容),则保持当前目录不变。
FYI
$ type cd
cd is a shell builtin
$ ps -p $
PID TTY TIME CMD
46959 pts/8
我刚刚输入了一个带有小写模式的rm命令,期望它只删除匹配的小写文件,但发现一些大写文件也被删除了:
$ ls -a
. ..
$ touch X # note: upper-case X
$ rm [x]
rm: cannot lstat `[x]': No such file or directory
$ rm [x-z]
rm: remove regular empty file `X'? y
$ ls -a
. ..
我在三个不同的Linuxes上进行了测试,结果完全相同。这是预期的行为吗?我认为Linux是严格区分大小写的,而不是Windows。此外,我很惊讶x-z
ls -al charts/**/*[^values,^Chart].yaml
上面的命令应该列出图表文件夹中的所有yaml文件,但values.yaml和chart.yaml除外。
当我在mac中尝试这个命令时,它可以正常工作,但在bashi.Linux终端上却不行。有没有办法在bash里做同样的事?
我有一个USB产品的供应商和产品代码: 0403:6001。 我想知道如何才能轻松地将lsusb命令的结果与/dev/ttyUSB*上设备的确定联系起来 lsusb给我 Bus 001 Device 004: ID 065a:a001 First device
Bus 001 Device 003: ID 0403:6001 Second device FT232 USB-Serial (UART)
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:
我以前试过这个。我发誓我以前能发出这样的命令:
mv /home/user/temp1/* /home/user/temp2
基本上,我从这里得到了以下命令:https://superuser.com/questions/273254/move-files-and-folders-recursively-in-linux
你知道它为什么要告诉我
mv: cannot stat `/home/user/temp1/*': No such file or directory
我有一个名为temp的目录。在这个文件夹中,我有多个子文件夹(我不知道确切的数量)。现在,我在temp中创建了另一个名为Untitled的子文件夹。现在,我想移动Untitled中的所有其他子文件夹。
假设我在临时目录中有3个文件夹,名为a,b,c,现在我创建了Untitled。所以temp现在包含4个文件夹a,b,c和Untitled。执行操作后,temp将只包含包含a,b,c的无题文件夹。
如何使用bash实现这一目标?
我的Bash版本(在Ubuntu 16.04上)
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
我在Linux中使用bash脚本迁移数据库输出文件,我想知道如何在bash脚本中执行Linux命令时处理错误。
例如,通常情况下,当我想循环遍历目录中的文件时,我会这样写它
# list files and grep results for .sql extension
for FILE in `ls | grep ".sql"`
do
echo "found file: $FILE"
done
它工作得很好,因为grep如果有.sql扩展名或不返回任何内容,就会返回文件名。
我想知道如何使用返回结果或错误的Linux命令,例如
ls ./*.sql
,
我正在使用Mac,我在.bashrc中定义了这个别名
$cat .bashrc | grep la
alias la='ls -la'
然后我尝试在脚本中使用它:
$cat ./mytest.sh
#!/bin/bash
la
它运行并说找不到la
./mytest.sh: line 2: la: command not found
为什么会这样呢?我在Mac和Linux上都试过了,同样的错误!
在Bash 4中有新的选项:校验作业和自动in。然而,我并没有在
man bash
我跑得不成功
{checkjobs,autocd}
我在发布说明中找到了以下内容
There is a new `checkjobs` option that causes the shell to check for and
report any running or stopped jobs at exit
和
There is a new `autocd` option that, when enabled, causes bash to attempt
to `cd` to a directory
我试图在某个文件夹和任何子文件夹中找到所有PDF文件,就在终端中,而不是在脚本中。我对linux也很陌生,所以如果我错过了任何显而易见的,或者可能对诊断我的特定问题至关重要的东西,那么请原谅。
我正在使用bash4.1.5(1)-release(i 486-pc-linux-gnu),并在google上对glob和extglob表达式做了一些探讨,看起来我应该使用的语法是
$ ls **.pdf
但是,由于在当前文件夹*.pdf中没有匹配模式./的文件,因此没有任何发现;它似乎希望将**读入*。
ls: cannot access **.pdf: No such file or directo