我有几个关于存储在~/.bash_history
.
我可以使用history
命令在终端中看到该文件,但是如果我尝试使用gedit bash_history
该文件打开它,则该文件完全为空。为什么?
我已经找到了如何使用以下代码行从终端中删除文件中的特定行数:
for i in {1..N}; do history -d N; done
Run Code Online (Sandbox Code Playgroud)
其中 N 是您要删除的行(或命令)数,但现在历史文件显示了最后一个命令,如果您想覆盖您的内容,那不是很聪明。所以问题是:我怎样才能给出最后一行代码并确保这不会被记录?
/home/my_username/.bashrc
我正在尝试使用由 crontab 执行的 shell 脚本中定义的函数。
#crontab -l
# m h dom mon dow command
* * * * * /bin/sh /home/my_username/CronTab_shell_script.sh >> /home/my_username/Desktop/file.log
Run Code Online (Sandbox Code Playgroud)
假设我将 Mounted() 函数保存在
/home/my_username/.bashrc
function mounted(){
if mount|grep $1; then
echo "mounted"
else
echo "not mounted"
fi
}
Run Code Online (Sandbox Code Playgroud)
如何从
/home/my_username/CronTab_shell_script.sh
Run Code Online (Sandbox Code Playgroud) 我想创建 Cron 作业来运行编译.c
文件。假设program.c
我的桌面上有一个名为 的文件。我使用 编译它gcc program.c
,它创建了a.out
可执行文件。
我想在某个时间通过 Cron 打开一个终端并在a.out
里面运行以将其输出显示到终端中。我已经打开 Crontab 进行编辑 - crontab -e
- 我试过:
30 * * * * /home/username/Desktop/a.out /Desktop/a.out
Run Code Online (Sandbox Code Playgroud)
和
30 * * * * cd /home/username/Desktop/a.out && ./a.out
Run Code Online (Sandbox Code Playgroud)
和
30 * * * * /bin/sh /home/username/Desktop/a.out
Run Code Online (Sandbox Code Playgroud)
和
30 * * * * bash -c "exec /home/username/Desktop/a.out"
Run Code Online (Sandbox Code Playgroud)
没有任何作用!
所以我试图调试这个简单的 c 程序
#include<stdio.h>
#include<string.h>
int main(){
char str_a[20];
strcpy(str_a,"Hello, world!\n");
printf(str_a);
return 0;}
Run Code Online (Sandbox Code Playgroud)
gcc -g -o prog prog.c
gdb -q ./prog
(gdb) list
1 #include<stdio.h>
2 #include<string.h>
3
4 int main(){
5
6 char str_a[20];
7
8 strcpy(str_a,"Hello, world!\n");
9 printf(str_a);
10
(gdb) break 7
Breakpoint 1 at 0x757: file char_array.c, line 7.
(gdb) break strcpy
Function "strcpy" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (strcpy) pending.
(gdb) break 9 …
Run Code Online (Sandbox Code Playgroud)