我想知道什么是最简单的方法来检查程序是否可以用bash执行,而不执行它? 它至less应该检查文件是否具有执行权限,并且与当前系统具有相同的体系结构(例如,不是Windows可执行文件或其他不受支持的体系结构,如果系统是32位,则不是64位)。
我想在unix shell中生成一个随机的文件名(比如说tcshell)。 文件名应该由随机的32个hex字母组成,例如: c7fdfc8f409c548a10a0a89a791417c5 (我将添加任何必要的)。 重点是只能在没有诉诸程序的情况下才能做到这一点。
如何改变默认的shell? env命令目前说: SHELL=/bin/tcsh 我想把它改成Bash。
我正在尝试编写一个shell脚本,在运行时将设置一些环境variables,这些variables将保留在调用者的shell中。 setenv FOO foo 在csh / tcsh中,或者 export FOO=foo 在sh / bash中只在脚本执行期间设置它。 我已经知道了 source myscript 将运行脚本的命令,而不是启动一个新的shell,这可能导致设置“调用者”的环境。 但是这是一个难题: 我希望这个脚本可以从bash或者csh中调用。 换句话说,我希望任何一个shell的用户都能够运行我的脚本并改变shell的环境。 所以'源'不适合我,因为运行csh的用户不能获得bash脚本,而运行bash的用户不能获得csh脚本。 是否有任何合理的解决scheme,不涉及编写和维护脚本上的两个版本?
我如何确定我正在使用的当前shell? ps命令的输出是否足够? 这怎么能在不同的UNIX中完成呢?
我在Linux中有一个进程出现分段错误的进程。 如何告诉它在失败时生成核心转储?