在bash(或其他shell)中是否存在某种字符限制,可以输入多长时间?如果是这样,那个字符限制是什么?
即是否可以在bash中编写一个命令行执行时间过长的命令?如果没有要求的限制,是否有建议的限制?
我需要搜索某个进程并终止该进程.我写了这样一个命令:
ps -e | grep dmn | awk '{print $1}' | kill
Run Code Online (Sandbox Code Playgroud)
进程名称的位置dmn.但它没有用.如何按名称和kill它们查找进程.
当我运行以下Bash脚本时,我希望它能够打印出来Hello.相反,它打印一个空行并退出.
echo 'Hello' | echo
Run Code Online (Sandbox Code Playgroud)
为什么不piping从输出echo到echo工作?
我正在学习unix/linux类,我们还没有学习变量或函数.我们刚刚学习了一些基本的实用程序,如标志和管道,输出和附加到文件.在实验室作业中,他希望我们找到最大的文件并将它们复制到目录中.
我可以获得5个最大的文件,但我不知道如何在一个命令中将它们传递给cp
ls -SF | grep -v / | head -5 | cp ? Directory
Run Code Online (Sandbox Code Playgroud) 我疯狂地试图理解这个简单示例(zsh 或 bash)的问题是什么:
echo -n "6842" | printf "%'d"
Run Code Online (Sandbox Code Playgroud)
输出是0......为什么呢?我希望输出是6,842
预先感谢,我现在使用谷歌试图解决这个问题一个小时了,但没有运气......!
我想将命令元素的输出列表作为另一个命令的参数传递.我找到了一些其他页面:
但它们似乎更复杂.
我只是想将一个文件复制到调用Linux find命令的每个结果中.
这里有什么问题?:
find . -name myFile 2>&1 | cp /home/myuser/myFile $1
Run Code Online (Sandbox Code Playgroud)
谢谢
所以我从命令行调用这个PHP脚本:
/usr/bin/php /var/www/bims/index.php "projects/output"
Run Code Online (Sandbox Code Playgroud)
它的输出是:
file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
我想要做的是获取此输出并提供给"rm"命令但我认为我做得不对:
/usr/bin/php /var/www/bims/index.php "projects/output" | rm
Run Code Online (Sandbox Code Playgroud)
我的目标是删除PHP脚本输出的任何文件名.应该怎样做才能做到这一点?
谢谢!
我想要实现的是从文件中读取命令行参数并使用它们调用命令。所以本质上我需要通过 bash 变量传递参数。问题是有些参数中有空格。我怎样才能做到这一点?
不工作的代码,来说明问题:
file.txt 内容(引号只是为了显示两个不同的参数):
"aaa bbb" "xxx yyy"
Run Code Online (Sandbox Code Playgroud)
外壳脚本:
ARGS=$(cat file.txt)
/some/command $ARGS
Run Code Online (Sandbox Code Playgroud)
/some/command应该接收两个参数:aaa bbb和xxx yyy。我确实可以控制生成的 file.txt 和 shell 脚本本身。
我正在寻找有关如何使用管道传递标准输出作为其他命令的参数的见解.
例如,考虑这种情况:
ls | grep Hello
Run Code Online (Sandbox Code Playgroud)
grep的结构遵循以下模式:grep SearchTerm PathOfFileToBeSearched.在我已经说明的情况下,将单词Hello作为,SearchTerm并将ls的结果用作要搜索的文件.但是,如果我想切换它怎么办?如果我希望ls的标准输出为SearchTerm,并且grep之后的参数是PathOfFileToBeSearched什么?在一般意义上,我想控制管道填充哪个参数与前一个命令的标准输出.这是可能的,还是取决于命令脚本(例如grep)的编写方式?
非常感谢你的帮助!
我正在尝试将具有特定附件的文件复制到其他目录,并保留其相对路径.从我调用的原始顶部路径:
cp --parents `find . -name \*.pdf -print` /new_path/
Run Code Online (Sandbox Code Playgroud)
我相信这有效; 但是,只有找到的文件名称中没有空格.
我也尝试过:
cp --parents `find . -name \*.pdf -print0` /new_path/
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,因为没有新行字符cp收到错误的名称.
是否可以用引号包围查找结果?