将 shell 脚本转换为批处理文件是非常乏味的。有没有办法自动轻松地执行 .sh 到 .bat 的转换,反之亦然?
\;以下命令中的含义是什么?我也不确定是什么{}意思。是否\;真的有必要?
find ./ -name file_1 -exec cp {} ./ \;
Run Code Online (Sandbox Code Playgroud) 我正在编写一个程序,其中包含我兄弟要求的一些随机基准。但是当我写完它时,我去测试它,结果如下:
./benchmarksuite.sh: line 45: syntax error near unexpected token `}'
./benchmarksuite.sh: line 45: `}'
Run Code Online (Sandbox Code Playgroud)
那么我的代码到底有什么问题呢?
这是代码:
#!/bin/bash
drivetest()
{
echo "How much data do you want to write (in MiB):"
read data
echo "Are you sure you want to perform a $data MiB write onto your disk?[Y/N]"
read confirm
if [ "$confirm" == "Y" ]; then
dd bs=1M count=$data if=/dev/zero of=test conv=fdatasync
elif [ "$verify" == "y" ]; then
dd bs=1M count=$data if=/dev/zero of=test conv=fdatasync
else
echo "Exiting the test." …Run Code Online (Sandbox Code Playgroud) 我想知道这个语句到底在做什么,尤其是那awk部分。
ps aux | grep 'sidekiq 5' | grep -v grep | awk '{ print $2; }' | xargs kill -${2:-'TERM'}
Run Code Online (Sandbox Code Playgroud)
我知道整个管道应该杀死sidekiq进程。
我想知道是否可以检查apache2是否正在运行。如果它没有运行我想使用 shellscript 执行它
目前我添加了一个名为 run_apache 的函数,该函数只需转到 apache2 启动它的目录即可。我已将此函数添加到我的.bashrc文件中。然而,每次我打开一个新的 shell 时它都会执行,除非 apache2 尚未运行,否则我不想这样做。