command-substitution

    2热度

    1回答

    我想建立一个小脚本(称为check_process.sh),检查某个进程$PROC_NAME是否正在运行。如果是,则返回其PID,否则返回-1。 我的想法是在命令替换中使用pgrep -f <STRING>。 如果我直接在命令行中运行这段代码: export ARG1=foo_name export RES=$(pgrep -f ${ARG1}) if [[ $RES == "" ]]; th

    0热度

    1回答

    在bash中,可以使用"$(< file)"格式将文件作为参数。 $(<的大概特殊外壳的文档在哪里?

    2热度

    1回答

    不运行命令我有一个包含以下bash脚本: MY_COMMAND="MY_PWD=`pwd`; export MY_PWD; MY_PWD_BASENAME=`basename $MY_PWD`; echo $MY_PWD_BASENAME"; export MY_COMMAND 当我从终端源脚本,我得到以下错误: basename: missing operand Try `basename

    0热度

    1回答

    我有一个与当我使用命令替换 > echo " test" test > echo $(echo " test") test 是被吃了前导空格返回字符串的命令为什么会出现这种情况,我能做些什么呢?

    1热度

    1回答

    我很新来砸, 我学习了如何使用变量是这样的: var=$(cat << EOF this is echoed and this as well... EOF ) echo "$var" 如果上面的代码使用variable你怎么叫下面的方法叫什么?这叫做使用definition? def="This should be echoed\nand this as well...\n"

    -1热度

    1回答

    考虑以下情况: $ echo "abc" > file $ var=$(< file) $ echo "$var" abc 里面的命令替换,我们使用重定向和一个文件,并且该文件的内容被正确地由可变捕获。 然而,所有以下实施例中没有产生输出: $ < file $ < file | cat $ <file> file2 $ cat file2 在所有这些情况下,命令的内容不重定向

    -2热度

    2回答

    我有文件夹在2个文件如下所示 $ ls -l total 1 -rw-r--r-- 1 user user-group 0 May 10 14:49 test -rw-r--r-- 1 user user-group 0 May 10 14:49 test1 清单中的文件正显示出正常的。但为什么下面的命令显示两行合并在bash中的单行? $ echo `ls -l` total 1 -

    0热度

    1回答

    我正在执行命令替换并将结果保存到变量中。但是,该命令的结果包含双引号,导致变量为空。 当运行test="$(java -version)"我得到以下结果: openjdk version "1.8.0_65" OpenJDK Runtime Environment (build 1.8.0_65-b17) OpenJDK 64-Bit Server VM (build 25.65-b01, m

    2热度

    1回答

    我有一个包含文件列表的文件,并且我想对每个文件执行两个命令。 内容files.txt的: file1 file2 file3 我想上的每个文件执行的命令是(例如)ls -s和du。 我所要的输出最终被这样的: <ls size> <du size> file1 <ls size> <du size> file2 <ls size> <du size> file3 我知道如何使用ba

    1热度

    1回答

    我真的没有找到解决这个问题的方法: 假设我有一个有多行的变量,每行最后应该是一个参数。 line 1 line two ... 我只在运行时获取这个数据,但它应该是建立这样一个命令: answer="$(dialog --menu 'Menu title' 0 0 0 'line 1' - 'line two' - ... 3>&1 1>&2 2>&3)" (数据必须由分离 - 但这不