小编Asi*_*sif的帖子

命令替换中使用的 curl 的返回码

我的脚本如下:-(已编辑)

httpUrl="http://www.nnin.com"
rep=$(curl -v -X POST -d "UID=username&PWD=pass" $httpUrl)

status=$? 

if [ "$?" -eq 0 ]; then

    echo "Success"
    exit $status
  else
    echo "Failed"
    exit $status
fi
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,返回代码总是$?=0因为脚本成功执行的方式,但我希望返回代码cURL应用于下一个函数。

我已经尝试浏览并在这个站点中使用了几种方法,但没有太大帮助,也许是因为POST命令以及在运行脚本时如何防止输出打印?

谢谢

shell command-substitution exit-status

9
推荐指数
1
解决办法
5万
查看次数

查看当前用户进程祖先并格式化输出

我在用着ps -eo ppid,pid,cmd查看所有进程,如何格式化输出以如下所示查看?

\n\n

只有给定的 PID 及其祖先才会打印(直到 init)。

\n\n
23464   current\n  |\n23211   bash\n  |\n23210   sshd: xxW\n  |\n23193   sshd: WWcccv\n  |\n 728    /usr/sbin/sshd \xe2\x80\x93D\n  |\n  1     init\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在编写一个脚本来使用 PID 查看祖先进程,而不使用pstree,如果可能的话。

\n

linux shell process ps

6
推荐指数
1
解决办法
1601
查看次数

Shell 脚本有条件循环

我只是创建了一个新的 shell 脚本,但遇到了一些小问题。以下是我的脚本:-

function mainMenu(){
    while :
    do
    echo -e "\nMain Menu:"
    echo " A. Process Managements Utilities"
    echo " B. Memory Managements Utilities"
    echo " C. Exit"

    read -p "Select :" menuSelect
    echo

    case $menuSelect in

            a|A) processMgmt;;
            b|B) memoryMgmt;;
            c|C) exit 0;;

            *)echo "Invalid Input"
              echo
              ;;
    esac
    done
}
Run Code Online (Sandbox Code Playgroud)

当用户输入“无效输入”时,该函数将打印所有mainMenu()输出:-

Main Menu:
 A. Process Managements Utilities
 B. Memory Managements Utilities
 C. Exit

Select :e
Invalid Input

Main Menu:
 A. Process Managements Utilities
 B. Memory Managements …
Run Code Online (Sandbox Code Playgroud)

shell shell-script

2
推荐指数
1
解决办法
474
查看次数