сохранение *.txt в argv
В терминал поступает команда ./s_grep -l it *.txt.
В таком случае, если в папке, например, есть 1.txt, то argv[3] оказывается равным 1.txt, а нужно оставить *.txt.
вариант ./s_grep -l it "*.txt" и подобные не подходят, т.к. Оригинальный grep подразумевает ввод файла без кавычек
Ответы (1 шт):
Автор решения: eri
→ Ссылка
хоть и подразумевает, но bash ему передает развернутую звездочку
$ cat /proc/`pidof grep`/cmdline
grep#./alsa./alternatives./amd./ant.conf./apparmor.d./appstream.conf./apt./arch-release./audit./avahi./avrdude.conf./bash.bash_logout./bash.bashrc./bind.keys./bindresvport.blacklist./binfmt.d./bluetooth./brlapi.key./brltty.conf./ca-certificates./cifs-utils./cni./conf.d./crypttab./cups./daxctl.conf.d./dconf./debuginfod./default./depmod.d./dhcpcd.conf./dhtcluster.conf./dhtnode.conf./diffuserc./dkms./dleyna-renderer-service.conf./dleyna-server-service.conf./dnsmasq.conf./docker./dpkg./dracut.conf.d./e2scrub.conf./ebtables.conf./environment./ethertypes./exports./exports.d./exports.pacnew./fakechroot./firewall./firewalld./flatpak./fonts./foomatic./fstab./fstab.pacnew./fuse.conf./gai.conf./gconf./gdb./gdm./gdm3./gemrc./geoclue./gimp./gnome-chess./group./group-./group.pacnew./grub.d./gshadow./gshadow-./gshadow.pacnew./gss./gssapi_mech.conf./gssproxy./gtk-2.0./gtk-3.0./healthd.conf./host.conf./hostname./hosts./hosts.allow./hosts.pacnew./hp./httpd./icecast.xml./idmapd.conf./ImageMagick-6./ImageMagick-7./initcpio./inputrc./iproute2./ipsec.conf./ipsec.d./ipsec.secrets./ipsec.secrets.pacnew./ipset.conf./iptables./issue./jack./java11-openjdk./java-7-openjdk./java-8-openjdk./java-openjdk./kerio-kvc.conf./kernel./keyutils./krb5.conf./ld.so.cache./ld.so.conf./ld.so.conf.d./letsencrypt./libao.conf./libaudit.conf./libblockdev./libccid_Info.plist./libinput./libnl./libpaper.d./libreoffice./libva.conf./libvirt./lirc./locale.conf./locale.gen./locale.gen.pacnew./localtime./login.defs./logrotate.d./lsb-release./lvm./lxc./machine-id./mactelnetd.users./mailcap./makepkg.conf./man_db.conf./man_db.conf.pacnew./mc./mdadm.conf./memtest86-efi./mime.types./mime.types.pacnew./mke2fs.conf./mkinitcpio.conf./mkinitcpio.d./modprobe.d./modules-load.d./mongodb.conf./mono./mplayer./mpv./mtab./mtools.conf./multipath./my.cnf./my.cnf.d./named.conf./nanorc./ndctl./ndctl.conf.d./netconfig./NetworkManager./nfs.conf./nfs.conf.pacnew./nfsmount.conf./nftables.conf./nginx./nscd.conf./nsswitch.conf./ODBCDataSources./odbc.ini./odbcinst.ini./OpenCL./openldap./openmpi./openpmix./opera./opt./os-release./ostree./ostree-mkinitcpio.conf./PackageKit./pacman.conf./pacman.conf.pacnew./pacman.d./pam.d./papersize./passwd./passwd-./passwd.pacnew./php./pinentry./pipewire./pkcs11./plymouth./polkit-1./ppp./printcap./privoxy./profile./profile.d./protocols./pulse./qemu./rabbitmq./radcli./raddb./raddb.default./rc_keymaps./rc_maps.cfg./reader.conf.d./request-key.conf./request-key.d./resolv.conf./resolv.conf.pacnew./rhashrc./rpc./rsyncd.conf./rygel.conf./rygel.conf.pacnew./samba./sane.d./sasl2./screenrc./securetty./security./sensors3.conf./sensors.d./services./shadow./shadow-./shadow.pacnew./shells./shells.pacnew./skel./slsh.rc./smartd.conf./speech-dispatcher./ssh./ssl./sstpc./strongswan.conf./strongswan.d./subgid./subuid./sudo.conf./sudo.conf.pacnew./sudoers./sudoers.d./sudoers.pacnew./sudo_logsrvd.conf./supervisor.d./supervisord.conf./swanctl./sysctl.d./systemd./tdesktop./teamviewer./tigervnc./tlp.conf./tlp.d./tmpfiles.d./tpm2-tss./trusted-key.key./ts.conf./turnserver./udev./udisks2./ufw./UPower./usb_modeswitch.conf./usb_modeswitch.d./usb_modeswitch.setup./vbox./vconsole.conf./vde2./vdpau_wrapper.cfg./vimrc./vulkan./webapps./wgetrc./whois.conf./wpa_supplicant./X11./xattr.conf./xdg./xinetd.d./xl2tpd./xml./xrdp
ещё и разделитель параметров заменяется на \0